十木禾 2017-11-17 06:44 采纳率: 66.7%
浏览 1127
已采纳

有关SpringMVC传递参数的问题

前台通过ajax提交json格式数据,如下

        $.ajax(
                {
                    url: "http://localhost:8090/lookup/getLookup",
                    type: "POST",
                    dataType: "json",
                    data: JSON.stringify({"lookupId":28}),
                    contentType: "application/json",
                    success: function (data, textStatus, jqXHR) {
                        alert(data.code)
                    },
                    error: function (data, textStatus, jqXHR) {
                        alert("ERROE");
                    }
                }
        );

这样请求的参数就是{"lookupId":28}

那么后台我是写的这样接收

    @ResponseBody
    @RequestMapping(value = {"getLookup"})
    public TsLookupTypeHelper getLookupByLookupId(@RequestBody Integer lookupId) {}

请求的时候会报错 400,请问要怎样在前台发送json数据,后台通过非javabean的参数(指的是 int string等基本类型)接受?

  • 写回答

7条回答 默认 最新

  • Drizzly_ 2017-11-17 07:00
    关注

    400 是肯定的。 @RequestBody 接受一个Body内容作为参数。 你的body是 “{"lookupId":28}”字符串。不是Int 所以报400错
    修改有2种方法。 修改 ajax data: "28",contentType: "application/text" 第二个 修改controller
    public TsLookupTypeHelper getLookupByLookupId( Integer lookupId) {}

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(6条)

报告相同问题?