【问题标题】:best practive rest api method get with many parameters最佳实践rest api方法获取许多参数
【发布时间】:2022-01-13 03:03:43
【问题描述】:

我有与本文类似的问题 (Multiple optional query string parameters REST API GET),但给出的答案有 3 个不同的意见/答案,我不知道哪一个是最好的做法,我到处搜索但找不到明确的答案。有人可以请帮助我哪个答案是正确的并且有一个证明(支持它的可信来源)这是一个最佳实践,抱歉英语不好我希望你能理解我在说什么,

【问题讨论】:

标签: api rest


【解决方案1】:

最好的方法是在获取请求中添加过滤器。这篇文章中的回应举了一个例子-

Best practice for filtering results from a RESTful API call?

实际上,一切都是资源,因此如果您想过滤同一资源中的项目,您可以将过滤条件与分页参数一起传递。通常仅针对单独的资源,我们为可选参数创建新的 API 或在同一资源中过滤,不应创建单独的 API。它们是额外的测试和维护成本。

【讨论】:

    【解决方案2】:

    对我来说,文章中的回答 #2 最有意义。你会没事的

    【讨论】:

    • 感谢您的回复,如果我选择答案#2,这意味着在我的代码上我必须使用不同/所有可能的参数组合(如重载)的许多方法? ex : public get (int crowdid){} , public get (dateteime shiftdate), public (datetime shiftdate, int crowdid) ?
    • 我会创建使用 ID 的 get 方法和使用多个参数的搜索方法 请记住,传递多个参数意味着您可以获得多个项目。设计 get 以返回 1 或 0 个项目(如果找不到 id,则返回错误),设计 search 以根据找到的内容返回 0 到多个。这种方式在语义上最有意义。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-01-26
    • 1970-01-01
    • 2013-10-23
    • 1970-01-01
    • 2020-05-29
    • 1970-01-01
    相关资源
    最近更新 更多