SpringMVC-使用json传收参数
我们使用springmvc用json传输参数,要先把配置问题解决了,因为java原生的api并不支持json的类型,因此我们要导包
<dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.15.0</version> </dependency>
然后还要给handlerAdapter配置了json转换器,反应到我们的操作上就是加一个注解
package com.aurora.config; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.EnableWebMvc; import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter; import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping; @EnableWebMvc//给handlerAdapter配置了json转换器 @Configuration @ComponentScan("com.aurora.Json") public class MvcConfig { @Bean public RequestMappingHandlerMapping handlerMapping(){ return new RequestMappingHandlerMapping(); } @Bean public RequestMappingHandlerAdapter handlerAdapter(){ return new RequestMappingHandlerAdapter(); } }
处理json的controller
package com.aurora.Json; import com.aurora.pojo.Person; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; @RequestMapping("json") @Controller @ResponseBody public class JsonController { //data -> 请求体post {name,age,gender} //java原生的api不支持json,只支持路径和param // 1.导入json处理的依赖 2.给handlerAdapter配置json转换器 @PostMapping("data") public String data(@RequestBody Person person){ System.out.println("person = " + person); return person.toString(); } }
效果,乱码先不管