@RequestBody不能映射到對象

1,在配置SpringMVC的時候在配置文件中配置了

<mvc:annotation-driven>但是在前後端交互的時候傳輸JSON在controller中接受參數的時候不能映射到對象中


<script type="text/javascript">
    $(document).ready(function(){
        $('#submitForm').click(function(){

            var formData = new Object;
            formData.Id = 2;
            formData.UserName = $('#UserName').val();

            var JsonData = JSON.stringify(formData);
            console.log(JsonData);
            $.ajax({
                type : "POST",
                url : "/core/test",
                dataType : 'text',
                contentType: "application/json",
                data : JsonData,
                success : function(data) {
                    alert(data);
                }
            });
        });
    });
</script>


package com.yk.controllers;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.yk.dto.userDto;
import com.yk.service.IUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;

import java.util.List;


@Controller
public class userController {

    @Autowired
    private  IUserService service1;

    @RequestMapping(value = "/test",method = RequestMethod.POST,consumes = "application/json")
    @ResponseBody
    //@JsonIgnoreProperties(ignoreUnknown = true)//忽略未知屬性
    public Object query(@RequestBody userDto dt) {

        System.out.println(dt.getUserName());
        List<userDto> dto = service1.selectAll();

        System.out.println(dto.get(0).getUserName());

        return  "1";
    }
}



找了很多方法都沒解決掉後來在配置中添加了
FastJsonHttpMessageConverter後臺能接收到參數並且映射到對象中

<context:component-scan base-package="com.yk"/>
<mvc:annotation-driven>
    <mvc:message-converters register-defaults="true">
        <bean class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter">
            <!--<property name="supportedMediaTypes" value="application/json;charset=UTF-8"/>
            <property name="features">
                <array>
                    <value>WriteMapNullValue</value>
                    <value>WriteNullStringAsEmpty</value>
                </array>
            </property>-->
        </bean>
    </mvc:message-converters>
</mvc:annotation-driven>






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