gpt4 book ai didi

RESTful URI 设计 - 资源的多个 URI 用户友好

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

假设我有以下实体:项目、公司、主管。

以下关系适用:

  • 一个项目一个公司
  • 一家公司只有一名董事
  • 一个董事可以兼任多家公司的董事
  • 一家公司可以管理多个项目

我曾设想过这样的 URI 设计:

 GET  /projects
GET /projects/{id}
GET /projects/{id}/company
GET /projects/{id}/company/director
PUT /projects/{id}/company # makes new/overwrite company
POST /projects/{id}/company # updates company
PUT /projects/{id}/company/director # makes new/overwrite director
POST /projects/{id}/company/director # updates director

对于相同的资源有多个 URI 是否可以/用户友好,例如:

 POST /companies                       # makes a new company
POST /companies/{id} # updates company
GET /companies/{id}
POST /directors # makes a new director
POST /directors/{id} # updates director
GET /directors/{id}

根据最佳实践,这是好的 URI 设计吗?以上URI设计的优缺点是什么?

最佳答案

第一种形式的 URL 暗示了一个树形结构,其中一家公司属于一个且仅一个项目,一个董事属于一个且仅一个公司。是这样吗?

如果不是,我更喜欢第二种形式的 URL。您将所有三种资源类型放在一起,没有隐含的树结构。在资源表示中,您将使用链接从项目导航到公司再到主管。

关于RESTful URI 设计 - 资源的多个 URI 用户友好,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11739003/

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