gpt4 book ai didi

web-services - 分层 RESTful URL 设计

转载 作者:行者123 更新时间:2023-12-03 10:04:54 26 4
gpt4 key购买 nike

我已经仔细阅读了有关此问题的问题,但我仍然没有明确的答案。

我有一个应用程序,想构建一个 RESTful API 来公开信息的子集。我有三个资源:

  • 用户
  • 报告
  • 照片

  • 用户有报告,报告有照片。照片不能存在于报告之外,报告不能存在于用户之外。

    我根据我的要求设计了以下 URL

    用户登录,服务器以 token 响应, token 在所有 API 调用的 header 中发送
    GET example.com/api/

    获取用户信息
    GET example.com/api/users/{username}

    获取所有用户报告
    GET example.com/api/users/{username}/reports

    获取报告的所有照片
    GET example.com/api/users/{username}/reports/{report_id}/photos

    添加照片
    POST example.com/api/users/{username}/reports/{report_id}/photos

    删除照片
    DELETE example.com/api/users/{username}/reports/{report_id}/photos/{photo_id}

    修改照片描述
    PUT example.com/api/users/{username}/reports/{report_id}/photos/{photo_id}

    问题
  • 在 URL 中添加资源 ID(即资源/ID)是一种好习惯,还是应该将其添加为查询参数?
  • 这种链接资源的方法,即资源/id/sub-resource/id/等,是否可以接受且良好,还是我应该将所有资源放在顶层并使用查询参数指定其位置?
  • 最佳答案

    恕我直言,你建模得很好。

    关于 1我宁愿和resource/id一起去而不是查询参数。但是建模时必须记住的一件事是代理缓存机制等。所以不要忘记标题。

    我去寻找用于过滤和那些排序的查询参数。

    关于登录,凭据应该在标题中,不需要特定的资源。只需应用每个资源安全性。

    关于web-services - 分层 RESTful URL 设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7833548/

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