我正在尝试使用 Spring MVC 从 http POST 请求中检索参数。
该请求包含以下 json 对象(内容类型:application/json),该对象本身包含一个 customObjects 数组:
{
"globalId":"338",
"lines":[
{
"id": "someId",
"lib":"blabla",
...
}
]
}
这是我尝试使用的代码:
@RequestMapping(method = RequestMethod.POST, value = "/valider")
@ResponseBody
public void valider(final HttpServletRequest request, @RequestParam("globalId") final String globalId, @RequestParam("lines") final MyCustomObject[] lines) {
我得到的只是一个“错误请求”错误(http 400)。
是否可以分别检索“globalId”和“lines”这两个参数?或者因为它们位于同一个 json 对象中,所以必须将其视为具有单个参数?当 Post 请求中有多个参数时,如何处理?
我认为您正在寻找类似“@RequestBody”的内容。创建一个类来表示您的 JSON 数据。在您的情况下,此类将包含两个成员变量 - 作为字符串的 globalId 和作为它表示的对象的数组的行。然后在控制器方法中,您将在此类类型上使用 @RequestBody 注释,以便 Spring 能够将 JSON 转换为对象。检查下面的示例。
http://www.leveluplunch.com/java/tutorials/014-post-json-to-spring-rest-webservice/ http://www.leveluplunch.com/java/tutorials/014-post-json-to-spring-rest-webservice/
JQuery、Spring MVC @RequestBody 和 JSON - 使其协同工作 https://stackoverflow.com/questions/5908466/jquery-spring-mvc-requestbody-and-json-making-it-work-together
http://www.techzoo.org/spring-framework/spring-mvc-requestbody-json-example.html http://www.techzoo.org/spring-framework/spring-mvc-requestbody-json-example.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)