路由和端点之间的区别?

s.k*_*s.k 18 routes endpoint node.js

题:

我有一个可能相当简单的问题,但我无法找到带有很好解释的答案:

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


例子:

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

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

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

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

小智 31

这里有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. 所以路由是一种定位资源的方式。


Cra*_*Tim 7

路由和端点是相关的概念——缺一不可。

什么是端点?

一般来说,“端点”是一个系统与另一个系统交互的通信通道的一端。该术语在网络中也有类似的使用。

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

GET https://my-api.com/Library/Books
Run Code Online (Sandbox Code Playgroud)

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

什么是路线?

“路由”通常是将传入请求路径与资源相匹配的代码。换句话说,它定义了 URL 以及将执行的代码。路由路径可能包含正则表达式、模式、参数,并涉及验证。例如,考虑以下路由路径:

"{controller}/{action}/{id?}"
Run Code Online (Sandbox Code Playgroud)

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

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

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


Mim*_*ina 5

路线

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

端点

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

路由是 URI,端点是对 URI 执行操作。


小智 0

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

例如 is 路线,也是一条路线,但这里它们都返回不同的数据,不一样,所以我们可以说这里的最后两个参数是终点,意味着 id 和问题字符串。

端点:

 /56075017/difference-between-route-and-endpoint
 /56040846/how-to-use-the-classweight-option-of-model-fit-in-tensorflow-js
Run Code Online (Sandbox Code Playgroud)

路线:

/sf/ask/3925251221/
/sf/ask/3922859251/
Run Code Online (Sandbox Code Playgroud)