【发布时间】:2017-04-28 23:43:21
【问题描述】:
我的后端必须提供两种不同的 API——分别对相同模型的不同访问、相同的实现和相同的数据库映射。模型以 JSON 形式发送,后端以同样的方式使用它们。
但每个 API 都需要不同的 JSON 表示形式。 F.e.我想以不同的方式命名一些字段(w/@JsonProperty f.e.)或者想省略一些。
如前所述,控制器应该像生产它们一样使用它们。
由于只有表示不同:是否有一种简单且符合 DRY 的方法来完成此操作?
示例:
打电话
ProductsController.java
sym/products/1
应该返回
{
"id": 1,
"title": "stuff",
"label": "junk"
}
打电话
ProductsController.java
frontend/products/1
应该返回
{
"id": 1,
"label": "junk",
"description": "oxmox",
"even-more": "text"
}
非常感谢!
提姆
【问题讨论】:
-
您可能需要使用不同的 DTO 并将您的域对象映射到它们(无论如何这是最佳实践)。