gpt4 book ai didi

java - 关系实体约定的休息 Controller

转载 作者:行者123 更新时间:2023-12-01 19:47:13 26 4
gpt4 key购买 nike

我有一个包含三个实体的简单 java 应用程序:

User
Rent
Tool

用户可以租用多个工具,并且工具可以由多个用户租用。 Rent 实体用于跟踪租金历史记录,因此它与 User 和 Tool 具有多对一的关系。

目前我有两个休息 Controller :用户 Controller 工具 Controller 负责为用户或工具提供服务。

问题是现在我想返回特定用户的租金历史记录。我应该在 UserController 中创建带有映射的方法吗

/users/{id}/rents

或者最好创建单独的 Controller (如 RentController)和带有映射的方法(如

)
/rents?userId={userId}

我认为第一种方法在 URI 方面更清晰,但我必须在 UserController 中使用 RentService,因为这些是来自不同包的类(我使用按功能包的方法),我觉得有问题。问题还在于 POST 或 PUT 等方法,我认为最好的选择是这样的:

POST /rents - RentDto as body
PUT /rents/{id} - RentDto as body

或者也许有方法就可以了:

GET /users/{id}/rents

在 RentController 中而不是在 UserController 中?您如何解决这些问题?您有什么建议?

最佳答案

当我们谈论 RESTful API 时,我们应该能够在没有额外参数的情况下达到任何 CRUD 方法,因此,考虑到这一点,我将使用路径参数方法(/users/{id}/rents).

通常,如果您想要获取包含非常具体信息的列表或列表项,我们会使用查询参数。

我推荐this article了解更多详情。

关于java - 关系实体约定的休息 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52741936/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com