繁体   English   中英

我是否应该为从属实体设置单独的休息控制器

[英]Should I have separate rest controller for a dependent entity

我的春季启动应用程序中有两个实体: DealerCar

没有Dealer拥有的Car Dealer

现在,我有两组端点(即两个控制器类): DealerControllerCarController

DealerController处理Dealer实体的CRUD操作。 CarController处理Car实体的UPDATEDELETEREAD操作。

我的问题是关于CarCREATE操作。 端点输入Dealer的ID,而POST请求正文将是Car信息。

我应该把它放在DealerControllerCarController吗?

由于该操作是有关创建Car ,因此主要涉及Car实体。 因此,遵循关注点分离OOP中 高耦合的准则,需要将其放置在CarController

这两个控制器都应存在,因为它们将用于特定操作。

DealerController将负责,

  • 添加新的经销商/经销商-POST
  • 更新经销商详细信息/经销商/ 2-PUT
  • 获取经销商列表-/经销商-GET
  • 获取特定经销商/经销商/ 2的详细信息-GET
  • 删除经销商-/ dealers / 2-DELETE
  • 等等

CarController将负责,

  • 添加新车/车-POST
  • 更新汽车详细信息-/ cars / 1-PUT
  • 获取所有汽车列表/汽车-GET
  • 通过经销商/ cars?dealerId = 2 / GET获取所有汽车的列表
  • 获取特定汽车的详细信息/ cars / 1-GET
  • 删除汽车-/ cars / 1-删除
  • 等等

如果您严格希望遵循RESTful约定,则CarController的端点中不应包含DealerId。 添加新车时,请求主体应包含该车属性和JSON的JSON表示,因为每辆车只能有一个DealerId

例如

{
    "dealerId": 2,
    "manufacturer": "bmw",
    "color": "white",
    "model": "320d"
}

因此,汽车的模型类应将DealerId或Dealer对象作为其属性,具体取决于所需的详细程度。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM