【问题标题】:Difference between route and endpoint?路由和端点的区别?
【发布时间】:2019-09-28 05:03:15
【问题描述】:

问题:

我有一个可能相当简单的问题,但我找不到很好的解释:

Node.js / Express 应用程序中开发的 RESTful API 上下文中,路由端点之间有什么区别(如果有)(但这些概念可能更广泛?!...)?
(它在某种程度上与 URL 相关吗?)


示例:

例如在这篇文章中:https://medium.com/@purposenigeria/build-a-restful-api-with-node-js-and-express-js-d7e59c7a3dfb我们可以阅读:

我们导入了课程开始时安装的express,app.get向服务器发起get请求,第一个参数是route/endpoint,endpoint是用来返回的数据库中的所有待办事项。

这些概念可以互换使用,这让我感到困惑。
(请注意,我是 REST API、nodejs 和 express 的 100% 初学者,但我会尽力学习)。

编辑
按时间顺序排列的前两个答案让我更加困惑,因为它们完全是对立的。

【问题讨论】:

    标签: node.js routes endpoint


    【解决方案1】:

    这里有 3 个不同的概念:

    • 资源:{id: 42, type: employee, company: 5}
    • 路线:localhost:8080/employees/42
    • 端点:GET localhost:8080/employees/42

    同一路由可以有不同的端点,例如DELETE localhost:8080/employees/42。所以端点基本上就是动作。

    您还可以通过不同的路由访问相同的资源,例如localhost:8080/companies/5/employees/42。所以路由是一种定位资源的方式。

    【讨论】:

      【解决方案2】:

      路线

      • 用于访问可用端点的 URI 路径。
      • 示例:http://www.mywebsite.com/

      端点

      • 执行特定操作。
      • 有一个或多个参数。
      • 返回数据。
      • 示例:GET http://www.mywebsite.com/Products

      Route 是 URI,Endpoint 是对 URI 执行的操作。

      【讨论】:

        【解决方案3】:

        路由和端点是相关的概念——你不能真正拥有一个而没有另一个。

        什么是端点?

        一般来说,“端点”是one end of a communication channel,一个系统与另一个系统交互的地方。这个词在networking中也有类似的用法。

        对于典型的 Web API,端点是 URL,它们在 API 的文档中进行了描述,因此程序员知道如何使用/使用它们。例如,一个特定的 Web API 可能有这个端点:

        GET https://my-api.com/Library/Books
        

        这将返回图书馆中所有书籍的列表。

        什么是路线?

        “路线”通常是matches incoming request paths to resources 的代码。换句话说,它定义了 URL 以及将执行的代码。路由路径可能包含正则表达式、模式、参数并涉及验证。例如,考虑这个路由路径:

        "{controller}/{action}/{id?}"
        

        在 ASP.NET 中,应用了模式匹配,因此GET https://my-api.com/Library/Books/341 将调用Library 类的Books 公共方法,并传递341 的参数。路由框架可以非常灵活和通用。

        端点的最简单示例是将您想要使用的文件(例如data.json)放在您的网络服务器的public_html 文件夹中。可以通过GET https://my-api.com/data.json 联系。路由由开箱即用的 Web 服务器处理,不需要路由代码。

        接下来要读的一些好东西:

        【讨论】:

          【解决方案4】:

          端点基本上用于执行特定任务并返回数据,端点是路由的一部分。

          example 是路由,this 也是路由,但这里它们都返回不同的数据,所以我们可以说这里的最后两个参数是一种端点,表示 id 和 question字符串。

          端点:

           /56075017/difference-between-route-and-endpoint
           /56040846/how-to-use-the-classweight-option-of-model-fit-in-tensorflow-js
          

          路线:

          https://stackoverflow.com/questions/56075017/difference-between-route-and-endpoint
          https://stackoverflow.com/questions/56040846/how-to-use-the-classweight-option-of-model-fit-in-tensorflow-js
          

          【讨论】:

            【解决方案5】:

            在本例中:http://example.com/my-website/comments/123:

            路线:

            my-website/comments/123

            端点:(一个带有动作的 URL 的花哨词)

            • GET http://example.com/my-website/comments/123。返回评论数据。
            • DELETE http://example.com/my-website/comments/123。删除评论并返回现在删除的评论数据。

            【讨论】:

              【解决方案6】:

              端点:端点是用于执行特定任务或功能的 URL。(例如:https://localhost:3000/route

              Route:它是 URL 端点的一部分,将页面路由到不同的组件。(例如:https://localhost:3000/thisIsRoute

              【讨论】:

                猜你喜欢
                • 2020-11-06
                • 2019-01-21
                • 1970-01-01
                • 2023-03-07
                • 1970-01-01
                • 2017-02-28
                • 2020-05-06
                • 2015-05-28
                • 1970-01-01
                相关资源
                最近更新 更多