ResponseBody和RequestBody
@ResponseBody把後臺pojo轉換成json對象
@RequestBody接收前臺json數據,把json數據封裝成對象
1、pom.xml添加依賴
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.5</version>
</dependency>
2、配置
<!--配置適配器-->
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
<!--配置json轉換器 告訴springmvc使用jackson轉換-->
<property name="messageConverters">
<list>
<bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"/>
</list>
</property>
</bean>
3、在頁面上用ajax往後臺傳值時把那些要傳過去的屬性封裝,如下
var json = {name:"zhangsan",age:"30"};
var param = JSON.stringify(json);
最後一行代碼是將對象轉成json字符的意思,前端將這個json字符提交到後臺,後臺直接用對象是接收不到這個的,你需要在後臺代碼中給方法參數前面加上 @RequestBody
@RequestMapping(value = "/addOrUpdatePolicyPublish", method = RequestMethod.POST)
public Map<String, Object> addOrUpdatePolicyPublish(@RequestBody PolicyPublish policyPublish) {
4、如果後臺想要直接返回json字符的話,只需要在方法的返回類型前面加上@ResponseBody
@RequestMapping(value = "/addOrUpdatePolicyPublish", method = RequestMethod.POST)
@ResponseBody
public Map<String, Object> addOrUpdatePolicyPublish(@RequestBody PolicyPublish policyPublish) {