我们能在同一个资源上实现两个Get请求吗?

3

有没有人能够建议我如何在同一资源的函数中实现具有不同参数的两个GET请求。

例如:

GetMapping("/Transaction")
GetMapping("/Transactions")

2
为什么?/Transactions 应该返回交易列表,而 /Transactions/1234/ 应该返回具有该 ID 的交易。在正确的 REST 中不需要 /Transaction。 - luk2302
@luk2302 那只是一个示例。让我们以 GetMapping("/Transactions") 和 GetMapping("/allTransactions") 为例。 - Rishabh Bansal
1
仍然存在的问题是:为什么“allTransactions”又成为了一个糟糕的REST资源。 - luk2302
@luk2302为什么"allTransactions"是一个不好的REST资源?命名策略可能与传统/标准不同,但仍然是正确的。顺便说一句,这个问题不是关于构建一个合适的REST API。 - Andrew Tobilko
@AndrewTobilko 非常感谢你,这很有帮助。 - Rishabh Bansal
显示剩余3条评论
1个回答

2
@GetMapping(path = {"/Transaction", "/Transactions"})

path 是一个 String[],因此您可以指定多个路径。


1
你可以从 https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/web/bind/annotation/GetMapping.html#path-- 文档中看到 GetMapping 接受一个 String[] 而不是一个 String,这暗示着可以通过这种方式传递多个路径。 - brabster

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接