路由和端点之间有区别吗?

时间:2019-05-10 09:49:35

标签: node.js routes endpoint

问题:

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

Node.js / {{1内开发的RESTful API中,路由端点之间有什么区别(如果有) }}应用程序(但是这些概念可能更广泛?!...)?
(它是否以某种方式与URL有关?)


示例:

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

  

我们导入了我们在课程开始时安装的Express,app.get向服务器发出了获取请求,并以 route / endpoint 作为第一个参数,端点旨在返回数据库中的所有待办事项。

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

修改
前两个答案使我更加困惑,因为它们完全是对立的。

5 个答案:

答案 0 :(得分:14)

这里有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)访问相同的资源。因此,路由是一种定位资源的方法。

答案 1 :(得分:2)

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

例如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也是一条路线,但是这里两个都返回不同的数据,所以我们可以说这里的最后两个参数是结束符点表示ID和问题字符串。

端点:

 /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

答案 2 :(得分:2)

路线

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

端点

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

Route 是 URI,端点 是对 URI 执行的操作。

答案 3 :(得分:0)

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

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

答案 4 :(得分:0)

路由和端点是相关的概念-没有其他概念就无法拥有一个。

什么是端点?

通常来说,“端点”是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将在Books类上调用Library公共方法,并传递参数341。路由框架可以非常灵活和通用。

端点的最简单示例是将要使用的文件(例如data.json)放入Web服务器的public_html文件夹中。 GET https://my-api.com/data.json可以达到此目的。路由由Web服务器开箱即用地处理,不需要路由代码。

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