【问题标题】:Request parameters in springspring请求参数
【发布时间】:2013-09-18 20:35:36
【问题描述】:

我需要在我的 spring 控制器中获取两个参数。

http://mydomain.com/myapp/getDetails?Id=13&subId=431

我有控制器,它将为此请求返回 Json。

@RequestMapping(value = "/getDetails", method = RequestMethod.GET,params = "id,subId", produces="application/json")
    @ResponseBody
    public MyBean getsubIds(@RequestParam String id, @RequestParam String subId) {
     return MyBean
  }

当我尝试调用 URL 时,我得到了 400。对此有什么想法吗? 我可以用一个参数得到它。

【问题讨论】:

  • 可能是您在 URL 中传递了“Id”,但在控制器中指定了“id”? (注意小写/大写首字母)

标签: spring spring-mvc


【解决方案1】:

尝试指定查询字符串中的哪个参数应该与方法中的参数匹配,如下所示:

public MyBean getsubIds(@RequestParam("id") String id, @RequestParam("subId") String subId) {

如果编译代码时没有参数名称,Spring 可能无法确定哪个是哪个。

【讨论】:

  • @Adam 尝试删除@RequestMappingparama 部分。我以前从来不需要这些……
【解决方案2】:

对我来说它有效(通过调用:http://www.example.com/getDetails?id=10&subId=15):

@RequestMapping(value = "/getDetails", method = RequestMethod.GET, produces="application/json")
@ResponseBody
public MyBean getsubIds(@RequestParam("id") String id, @RequestParam("subId") String subId) {
    return new MyBean();
}

附:假设你有 MyBean 类。

【讨论】:

    猜你喜欢
    • 2011-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多