【发布时间】:2014-04-22 08:43:33
【问题描述】:
我们已经使用Spring Hateoas project 实现了一个 RESTful Web 服务。该项目使您可以轻松地将您的域类转换为提供“自我”链接等的资源。
我发现这种方法令人困惑的是,您在使用 GET 时返回资源类,但在执行 POST 或 PUT 时,您使用域模型。这意味着任何使用 RESTful API 的客户端都需要访问域类 + 资源类(导致客户端必须添加 Hateoas 项目作为依赖项)。这种方法可以在this blog entry看到。
这里的正确方法是什么?只使用资源类(也适用于 POST 和 PUT)?
并非每个域类都有匹配的资源。以对象图更复杂且资源具有子对象列表的情况为例:
public class StoreResource {
public String name;
public List<Location> children;
}
Location 对象没有任何资源类。
目前看来,我们需要同时向客户端提供域类和现有资源类。
【问题讨论】: