【问题标题】:What's the correct way to create an endpoint in a API REST在 API REST 中创建端点的正确方法是什么
【发布时间】:2021-06-01 21:24:43
【问题描述】:

我正在绘制我的 API 路由。

用户有项目,项目有演员,演员有地址。

没有演员就没有地址,没有项目就没有演员,没有用户就没有项目。

这是构建端点的正确方法吗?

GET /users/{user_id}/projects/{project_id}/actors/{actor_id}/addresses

【问题讨论】:

  • 对不起..我更新了...

标签: api rest endpoint restful-url


【解决方案1】:

没有 REST 端点这样的东西。有资源。 -- Fielding, 2018

您似乎在这里问的是如何为您的resource 设计标识符。

REST 不关心您为资源标识符使用的拼写约定,只要它们满足RFC 3986 描述的生产规则即可。

如果您希望利用 HTML 表单,将数据加载到查询部分的标识符很方便:

GET /addresses?user={user_id}&project={project_id}&actor=actor_id

但如果您希望使用点段来引用其他资源,那么这种设计并不是特别方便。

选择URI Template 描述的替代方案将使一些事情变得更容易。

/users/{user_id}/projects/{project_id}/actors/{actor_id}/addresses

很好。其他拼写也可以fine(提示:URL 缩短器工作)。

从广义上讲,您可以通过考虑人类必须查看 URI 的不同上下文(API 文档、浏览器历史记录、访问日志等)来选择标识符拼写,然后选择适合的拼写至少其中一项设置。

【讨论】:

    猜你喜欢
    • 2020-11-05
    • 1970-01-01
    • 2016-09-12
    • 2019-12-12
    • 2022-06-28
    • 1970-01-01
    • 1970-01-01
    • 2021-05-18
    • 1970-01-01
    相关资源
    最近更新 更多