@RequestParam和@RequestBody的区别

#@RequestParam()

  • 如果参数前写了@RequestParam(xxx), 那么前端必须有对应的xxx名字才行(不管其是否有值), 如果没有

    xxx的话, 就和报错, 400

    如果参数前不写@RequestParam(xxx)的话,那么就前端可以有, 也可以没有对应的xxx

  • 能接收地址栏的参数, 也可以接收json对象, 但是不能接收json串

  • 如果@requestParam注解的参数是int类型,并且required=false,此时如果不传参数的话,会报错。原因是,required=false时,不传参数的话,会给参数赋值null,这样就会把null赋值给了int,因此会报错。

#@RequestBody()

  • 接收前端Content-Type为application/json的json串(不能是json对象), 由于get没有请求体, 所以没有Content-Type,发送的请求必须是post

  •  

上一篇:feign.FeignException$BadRequest:status 400 reading TcpFeign#xxxx


下一篇:关于springmvc注解的小总结