十木禾 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条)

报告相同问题?

悬赏问题

  • ¥15 镍氢电池充电器设计实物使用原理
  • ¥15 逻辑谓词和消解原理的运用
  • ¥15 三菱伺服电机按启动按钮有使能但不动作
  • ¥15 js,页面2返回页面1时定位进入的设备
  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号