SpringMVC请求体参数处理问题

时间:2023-03-08 16:43:02

如果请求定义为application/json格式,则要用Spring MVC中@RequestBody参数才能接受(用@RequestParam参数接受会报400错误),但SpringMVC的@RequestBody注解一个方法只能用一个,且接受的是完整的body内容,如前台传递:{id:1},后台接受的参数值也是{id:1},因此必须要做对应的解析处理,所以:

1、一般非必须情况下,用SpringMVC时少用application/json格式的请求。

2、定一个和参数对应的POJO类,或用MAP<String,Object>,JOSN对象接受参数解析处理。

3、自定义一个参数请求转换器,自己实现body中application/json的解析转换达到类似@RequestParam注解的效果。

SpringMVC请求参数注解两个小问题

Spring MVC之@RequestParam @RequestBody @RequestHeader 等详解