JAX-RS根和子资源

时间:2015-06-29 14:32:16

标签: java rest jersey jax-rs

我正在使用JAX-RS开发REST Api的过程中遇到过子资源问题。我希望能够直接访问资源以及子资源。例如/ products会返回所有产品的列表。其中/ user / 1 / products将返回仅与用户ID 1关联的产品。

以下是我发现的唯一方法。还有其他人有更整洁/更好的方法吗?

感谢阅读。

本。

@Path("/users")
public class UserResource {

    @GET
    public List<User> getUsers() {
        /* return all users */
    }

    @GET
    @Path("{id}")
    public User getUser(@PathParam("id") int id) {
        /* return single user */
    }

    @Path("{id}/products/")
    public ProductResource getProductResource(@PathParam("id") int id) {
        return new ProductResource(id);
    }
}

@Path("/products")
public class ProductResource {

    private int id;

    public ProductResource() {
    }

    public ProductResource(int id) {
        this.id = id;
    }

    @GET
    public List<Product> getProducts() {
        if(id != 0) {
            /* return products for specific user */
        } else {
            /* return all products */
        }
    }
}

0 个答案:

没有答案