1

我想使用接受 json 作为参数的 spring rest 服务创建一个服务。

例如:

@RequestMapping(value = "/setAppData/{appId}/", method = RequestMethod.POST)
public void setAppData(@PathVariable String appId,
                       @RequestParam Category appCategory,
                       @RequestParam AppMetadata appMetaData) {
}

我希望客户端将 appCategory 和 appMetadata 作为 json 发送,spring(或我将编写的拦截器)将其转换为对象。

有没有办法做到这一点?

4

1 回答 1

0

这个怎么样

控制器

@RequestMapping(value = "/setAppData/{appId}/", method = RequestMethod.POST)
public void setAppData(@PathVariable String appId,
                       @RequestBody AppData appData) {
}

POJO

public class AppData {
    private Category appCategory;
    private AppMetadata appMetaData;

    //getters/setters
}

然后客户端发送AppData以 JSON 格式发送。您需要 Jackson 在 CLASSPATH 上可用。

旧但有价值的参考:http: //blog.springsource.org/2010/01/25/ajax-simplifications-in-spring-3-0/

于 2013-01-01T19:53:23.917 回答