gpt4 book ai didi

rest - 深度对象路由的 Web API 最佳实践

转载 作者:行者123 更新时间:2023-12-04 20:37:27 25 4
gpt4 key购买 nike

在使用 ASP.NET Web API 设计 RESTful API 时,我可以创建多个路由来检索相同的数据。但我应该吗?它被认为是有帮助的还是令人困惑的?

例如,如果我有一个 Parent > Child > Item 的对象关系,我可能有三个路由返回相同的单个项目:

  • api/parents/:parent/children/:child/items/:item
  • api/children/:child/items/:item
  • api/items/:item

  • 提供所有三种路线是否有用,还是应该仅限于最简单的路线以避免混淆?在这方面是否有最佳实践?

    最佳答案

    选择要使用的 URI/路由取决于所需的目的,而不是内容。用户是否可能或有可能在没有特定 parent 的情况下寻找 child ?如果是,则在单独的根 URI 中提供数据,如果不是,则通过要求用户提供 parentId 来限制对子数据的访问。

    URI api/children无论 parent 如何,都会返回所有 child ,因此除了api/parents/:parentId/children之外还有另一个目的。这只会返回 :parentId 实例实际引用的子项。结果将始终包含也可以使用 api/children 获得的数据。 ,但它带有额外的信息,因为这些 child “属于”指定的 parent 。

    在我看来,您的所有选择都是有效的,因为它们都有不同的目的。但是,我会避免为同一目的使用不同的 URI。

    关于rest - 深度对象路由的 Web API 最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32743409/

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