gpt4 book ai didi

java - 当端点非常相似时,路径参数与查询参数

转载 作者:行者123 更新时间:2023-12-02 09:09:42 25 4
gpt4 key购买 nike

我目前正在开发一个公开不同端点的 REST API。

此类端点的示例是

/users/{userId}/transactions/type/{transactionType}/all

该端点返回用户特定交易类型的所有交易列表。

我还有一个端点,用于从用户检索特定类别的所有交易,该端点将通过该端点进行访问

/users/{userId}/transactions/category/{categoryId}/all

我的问题是这是一种好方法还是拥有一个端点并具有可选查询参数更好?

例如

/users/{userId}/transactions/all?categoryId={id}&transactionType={type}

/users/{userId}/transactions/all?categoryId={id}

/users/{userId}/transactions/all?transactionType={type}

/users/{userId}/transactions/all

后者的好处是您可以根据类别和类型(而不是仅按类别和类型)过滤交易。但这是一个好的设计还是有更好的方法?

最佳答案

是的,使用查询参数来过滤交易是一个好方法。但为了遵循 REST 的思想,如果你改变端点会更好。

来自

/users/{userId}/transactions/type/{transactionType}/all

/users/{userId}/transactions?transactionType={transactionType}

从端点您可以阅读以下内容:查询将为具有值 userid 的用户返回具有 transactionType 的所有事务。因此,查询返回的值应保留在端点的末尾,并且所有过滤器都是查询参数。在您的情况下,查询返回事务,因此事务位于末尾,然后是查询参数。

并且您不需要在 REST 端点中使用“all”一词。

/users/{userId}/transactions?categoryId={id}&transactionType={type}

关于java - 当端点非常相似时,路径参数与查询参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59518153/

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