
下面一些例子来说明
使用@RequestParam绑定请求参数值
@RequestMapping(value="/method1") public String method1( @RequestParam(value="userName",required = false) String userName, @RequestParam("pwd") String pwd){ return "methodSignature"; }
@RequestParam的参数有以下三个:
使用数组或者List让@RequestParam接收多个同名参数
public String requestparam(@RequestParam(value="role") String roleArray)
public String requestparam(@RequestParam(value="role") List<String> roleList)
value:参数名字,即入参的请求参数名字,如username表示请求的参数区中的名字为username的参数的值将传入;
required:是否必须,默认是true,表示请求中一定要有相应的参数,否则将报404错误码;
defaultValue:默认值,表示如果请求中没有同名参数时的默认值,默认值可以是SpEL表达式,如“#{systemProperties[‘javavmversion’]}”。
使用@CookieValue绑定请求中的Cookie值
@CookieValue的参数和@RequestParam一样
第二种绑定javaxservlet>
获取ip地址的方法:
String ip = requestgetHeader("x-forwarded-for");
if(ip == null || iplength() == 0 || "unknown"equalsIgnoreCase(ip)) {
ip = requestgetHeader("Proxy-Client-IP");
}
if(ip == null || iplength() == 0 || "unknown"equalsIgnoreCase(ip)) {
ip = requestgetHeader("WL-Proxy-Client-IP");
}
if(ip == null || iplength() == 0 || "unknown"equalsIgnoreCase(ip)) {
ip = requestgetRemoteAddr();
}
获取body请求体中的数据的方法:
用io去读
BufferedReader reader = requestgetReader();
String str, wholeStr ="";
while((str = readerreadLine()) != null){
wholeStr += str;
}
JSONObject params = new JSONObject()parseObject(wholeStr);
然后paramsget("xx")就可以直接获取参数了 当然请求体中的数据得是json格式
springboot 集成redis 和>
springboot 集成redis ,使用原生的jedis ,有点繁琐,本身springboot 已经集成了 redis并有 redisTemplate 可以使用,不过还是多少有点坑,需要提前说明的
首先要引入jar包依赖
然后在 application 配置文件中 配置redis 的连接项
接着最简单的使用就是
或者
如果你配置环境对的话,redis 就可以使用了
springboot 在启动会自己初始化 RedisConnectionFactory redisConnectionFactory
这个对象,然后注入 ,并初始化化一个 RedisTemplate 对象,这样感觉无缝连接到redis了,但是吧,平时没问题,一旦时间久了就会出问题,就是redis 的序列化和反序列化问题,之前没有在log 里捕捉 这个反序列化的异常,后来捕捉到这个异常,
springboot在反序列话 redis,有点bug
如何破解 ,就是在初始化 RedisTemplate 这个bean 的时候就配置一下序列化和反序列化的属性,
声明一个 RedisService 公共类,并加 @Component 注解, 在这个里面初始化化 RedisTemplate,需要注意的是 就是你的key 对应的value存的是什么类型,如果是String
,就用new StringRedisSerializer(),如果是对象类 json ,就使用
new Jackson2JsonRedisSerializer(Objectclass);或者
new GenericJackson2JsonRedisSerializer()),不然这个还会报错,
然后我们在这个里面 声明 get set exist remove redis key 的 *** 作
最后使用 redis 的时候 ,直接注入 RedisService 就可以了
RedisService
另外 springboot 请求外部>
以上就是关于pring boot 中controller如何接收http请求的参数全部的内容,包括:pring boot 中controller如何接收http请求的参数、springboot实现动态加载远程配置文件、在一个java接口中获取请求客户端的IP地址等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)