GET:请求参数只能体现在URL中,所以,不适合传输敏感数据,也无法传输大量数据(受到URL长度限制),而GET的优点在于可以保存、分享,并且访问效率略高
POST:请求参数可以放在请求体中,所以,适合传输敏感数据,并且,不受到长度限制(因为可能带的参数是上传的一个附件等一个比较大得数据,所以没必要第一次请求就携带参数,当确认可以连接响应100后,在携带参数访问,100表示准备就绪请继续的意思)
在开发实践中,对请求方式的选取,比较通用的原则是:如果客户端提交的请求主要目的是为了获取数据,则使用GET
,否则,使用POST
。
在控制器中,在处理请求的方法上,应该限制请求方式,例如配置为:
@RequestMapping(value = "/add-new", method = RequestMethod.POST)
以上配置会将/add-new
的请求方式限制为POST
这1种!
或者,你也可以使用基于@RequestMapping
的组合注解,例如:
@PostMapping("/add-new")
与之类似的注解还有:@GetMapping
、@PutMapping
、@DeleteMapping
、@PatchMapping
。