@RequestParam和@RequestBody的区别
Posted kikochz
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了@RequestParam和@RequestBody的区别相关的知识,希望对你有一定的参考价值。
-
如果参数前写了@RequestParam(xxx), 那么前端必须有对应的xxx名字才行(不管其是否有值), 如果没有
xxx的话, 就和报错, 400
如果参数前不写@RequestParam(xxx)的话,那么就前端可以有, 也可以没有对应的xxx
-
能接收地址栏的参数, 也可以
-
如果@requestParam注解的参数是int类型,并且required=false,此时如果不传参数的话,会报错。原因是,required=false时,不传参数的话,会给参数赋值null,这样就会把null赋值给了int,因此会报错。
#@RequestBody()
-
接收前端Content-Type为
application/json
的json串(不能是json对象), 由于get没有请求体, 所以没有Content-Type,发送的请求必须是post -
以上是关于@RequestParam和@RequestBody的区别的主要内容,如果未能解决你的问题,请参考以下文章
Content type 'application/x-www-form-urlencoded;charset=UTF-8' not supported for @RequestBod