我的春季启动应用程序中有两个实体:Dealer
,Car
Car
不能不被Dealer
所拥有而生存。
现在,我有两组端点(即两个控制器类):DealerController
,CarController
DealerController
处理CRUD
实体的Dealer
操作。 CarController
处理UPDATE
实体的DELETE
,READ
,Car
操作。
我的问题是关于CREATE
的Car
操作。端点接受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/