Spring MVC REST API接受JSON或URL参数

时间:2014-04-23 20:35:38

标签: java rest spring-mvc

我有一个当前的解决方法,用于接受我的控制器中的JSON和URL参数,但它导致我的代码中出现多余的重复。这就是我所拥有的:

@RequestMapping(value="/apicall" method=RequestMethod.POST, consumes"application/json") @ResponseBody
public Object apiCallJSON(ServletWebRequest request, @RequestBody @Valid Object inputs) {
    return apiCall(request, inputs);
}

@RequestMapping(value="/apicall" method=RequestMethod.POST, consumes"!application/json") @ResponseBody
public Object apiCallURLEncoded(ServletWebRequest request, @ModelAttribute @Valid Object inputs) {
    return apiCall(request, inputs);
}

private Object apiCall(ServletWebRequest request, Object inputs) {
    //code to run
}

是否有更自然的方式来促进JSON之间的选项(根据请求正文中的定义,因此使用@RequestBody)和URL参数(根据定义不在正文中,因此必须使用{{1 }}?

0 个答案:

没有答案