我有一个项目,其中分割了域类和REST资源。
我的域模型包含Hotel
,Customer
,Country
,Continent
等类。 Hotel
和Customer
模型都引用了Country
,Country
本身引用了Continent
。
在我的REST模型中,我有一个HotelResource
和一个CustomerResource
(两者都延伸了Spring HATEOAS' s ResourceSupport
)。
从域模型转换到REST模型我也有扩展ResourceAssemblerSupport
的汇编程序。
在我的REST模型中,我有Country
和Continent
等实体,但它们无法通过链接识别,例如没有端点只能检索国家或列出所有国家/地区。
CountryResource
展开ResourceSupport
似乎不正确ResourceSupport
实施Identifiable
。
Country和Resource是某种嵌入式资源类。
我该如何对待它们来重复使用它们的json渲染?我的意思是这些嵌入式Country
和Continent
包含在多个Resource类中,我只想对转换进行一次编码...
在使用Spring HATEOAS之前,我拥有自己的Resource
和ResourceAssembler
类,我用于HotelResource
和CountryResource
,但可以认为它是正确的{ {1}}不是真正的资源。
我认为如果你的REST模型增长,这种问题会引发 - 比如重新使用嵌入式对象的逻辑 - 我想知道Spring HATEOAS库的最佳实践是什么。