我的 Spring Boot 应用程序中有两个实体:Dealer
、Car
如果没有经销商
的拥有,汽车
就无法生存。
现在,我有两组端点(即两个 Controller 类):DealerController
、CarController
DealerController
处理 Dealer
实体的 CRUD
操作。 CarController
处理 Car
实体的 UPDATE
、DELETE
、READ
操作。
我的问题是关于 Car
的 CREATE
操作。端点接收 Dealer
的 ID,POST
请求正文将是 Car
信息。
我应该将其放在 DealerController
或 CarController
下吗?
最佳答案
两个 Controller 都应该存在,因为它们将用于特定操作。
DealerController 将负责,
- 添加新经销商/经销商 - POST
- 更新经销商详细信息/dealers/2 - PUT
- 获取经销商列表 -/dealers - GET
- 获取特定经销商/dealers/2 的详细信息 - GET
- 删除经销商 -/dealers/2 - DELETE
- 等等
CarController 将负责,
- 添加新车/汽车 - POST
- 更新汽车详细信息 -/cars/1 - PUT
- 获取所有汽车/汽车的列表 - GET
- 获取经销商所有汽车的列表/cars?dealerId=2/GET
- 获取特定汽车/cars/1 的详细信息 - GET
- 删除汽车 -/cars/1 - DELETE
- 等等
如果您严格遵守 RESTful 约定,您的 CarController 端点不应包含 DealerId。添加新车时,请求正文应包含汽车属性和 DealerId 的 JSON 表示形式,因为每辆车只能有一个 DealerId
例如
{
"dealerId": 2,
"manufacturer": "bmw",
"color": "white",
"model": "320d"
}
因此,汽车的模型类应该将 DealerId 或 Dealer 对象作为其属性,具体取决于您想要多少详细信息。
关于java - 我是否应该为依赖实体提供单独的休息 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45931949/