SpringMVC前端傳json數據後端用對象接收,後端傳json數據給前端

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) {

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章