【问题标题】:REST API standard for GET request which returns partial response返回部分响应的 GET 请求的 REST API 标准
【发布时间】:2021-04-13 08:55:12
【问题描述】:

我想为 api 设计一个端点,其中客户端只能在响应负载中获取 id。 例如Departments/{departmentId}/users/ids,这个端点会返回属于这个deparmentId的所有员工的userIds 请让我知道上述端点是否真的根据其他 api 标准有意义,或者应该有其他方式

【问题讨论】:

    标签: api rest hateoas


    【解决方案1】:

    请让我知道上述端点是否真的符合其他 api 标准

    是的,很完美。 "任何可以命名的信息都可以是资源" (Fielding, 2000)。

    GET /departments/17/users/ids
    
    200 OK
    Content-Type: text/plain
    
    1
    2
    3
    4
    5
    ...
    

    很好。如果您想使用其他表示(HTML、或 JSON 或其他),那也是 fine

    从通用组件的角度来看,它只是一个文档。 Transferring documents over a network 是 HTTP 的用途。

    【讨论】:

      【解决方案2】:

      您可以删除 /ids 后缀并使用部门/{departmentId}/users 并使用此路由进行分页。如果您正在对用户进行分页,并且您希望用户很多,通常这样的 API 会返回列表页面中使用的数据,因此您可以返回用户名、电子邮件、头像链接和所有需要的信息。到视图。

      没有其他解决方案,除非你切换到类似 graphql 的东西。

      【讨论】:

        猜你喜欢
        • 2014-09-01
        • 1970-01-01
        • 2016-11-28
        • 2017-12-03
        • 1970-01-01
        • 2016-07-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多