如何在REST Web服务中使用对象作为参数

时间:2015-08-03 17:48:17

标签: java json web-services rest jax-rs

我正在写一份看起来像这样的休息服务:

@POST
@Consumes("application/json")
public void save(@QueryParam("firstName") String firstName, @QueryParam("lastName") String lastName, @QueryParam("email") String email) {
    User user = new User(firstName, lastName, email);
    db.createUser(user);
}

我希望能够拥有类似对象参数的东西:

@POST
@Consumes("application/json")
public void save(@ObjectParam User user) {
    db.createUser(user);
}

如果不必指定我期望的参数或编写自己的对象解析器,那将是很好的。

2 个答案:

答案 0 :(得分:1)

这应该足够了

@POST
@Consumes("application/json")
public void save(User user) {
    db.createUser(user);
}

只要在POST中包含匹配的JSON对象,它就应该将对象映射到JSON。

答案 1 :(得分:0)

在Spring REST中,可以执行以下操作:

@RequestMapping(value = "/", method = RequestMethod.POST)
public ResponseEntity<Car> update(@RequestBody Car car) {
    ...
}