http之RequestMapping
1、@requestMapping
未明确指定Method时,支持所有请求方法类型。但入参未用@RequestBody指明情况下,只能接收url上的查询参数Params、或者form-data(字符键值对或文件)、。不能接收body参数/x-www-form-urlencoded等。
@RequestMapping("all")
public void testHttpRequest(HttpServletRequest request, HttpServletResponse response,@RequestBody TUser tUser);
2、GET方法是否可以使用body传参的问题
经验证,实际是可以使用body传参。但http协议上对GET方法进行body传参,没有明确的语义定义。实际上不建议这么做。
因为已有的实现框架,有的不支持GET使用body传参,有的支持(如elasticSearch API),统一在自己的系统中避免使用即可。
参考:
https://*.com/questions/978061/http-get-with-request-body
https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/GET
3、URL上直接拼接查询参数和x-www-form-urlencoded的区别
URL上直接拼接会显示在浏览器地址栏上,对于中文等特殊字符,需要进行urlencode编译,以免后台不能识别
。
x-www-form-urlencoded是在body中传,也不会显示在浏览器地址栏上,私密性更好
上一篇: 时序数据库
下一篇: cat之指定打印行数