我正在尝试构建一个统一的 REST 外观,它返回ResourceSupport
代表我的域资源的 Spring HATEOAS 类,@ResponseBody
用于 JSON 和 Thymeleaf 用于 HTML。我有一个Painting
看起来像这样的类:
public class PaintingResource extends ResourceSupport {
private String title;
private Integer year;
// artist is a Link rel="artist"
}
对于 的 JSON 和 HTML 渲染Painting
,我需要提供艺术家信息的片段(例如,个人资料图片的名称和 URL),但是嵌入整个ArtistResource
类没有意义,并且Link
不允许附加任何其他元数据。
我应该创建一个嵌套Artist
类来仅保存代码片段并在资源汇编器中创建所有这些,还是有更惯用的方法将代码片段网格化PaintingResource
?如果我使用嵌套类,我应该只嵌入名称和 URL 值并使用单独的Link
对象指向艺术家的页面吗?