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

Car不能不被Dealer所拥有而生存。

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

DealerController处理CRUD实体的Dealer操作。 CarController处理UPDATE实体的DELETEREADCar操作。

我的问题是关于CREATECar操作。端点接受Dealer的ID,而POST请求主体将是Car信息。

我应该将其放在DealerController还是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对象作为其属性,具体取决于所需的详细程度。

关于java - 我是否应该为从属实体设置单独的休息 Controller ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45931949/

10-10 13:45