RESTful API 上下文中的路由和端点之间有什么区别(如果有)?

问题描述 投票:0回答:6

问题

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

Node.js / Express 应用程序中开发的 RESTful API 上下文中,

route
endpoint
之间有什么区别(如果有)(但这些概念可能更广泛?!)?
(它与 URL 有某种关系吗?)

示例

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

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

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


编辑

按时间顺序来说,前两个答案让我更加困惑,因为它们完全对立。

node.js routes endpoint
6个回答
68
投票

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


7
投票

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

什么是端点?

一般来说,“端点”是“通信通道的一端”,一个系统与另一个系统进行交互。该术语在networking中也有类似的使用。 对于典型的 Web API,端点是 URL,它们在 API 文档中进行了描述,以便程序员知道如何使用/使用它们。例如,特定的 Web API 可能具有此端点:

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

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

什么是路线?

“路由”通常是指

将传入请求路径与资源相匹配

的代码。换句话说,它定义了 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 服务器处理,不需要路由代码。

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

    Express.js - 路由
  • Wordpress 开发人员资源 - 路由和端点
  • 什么时候使用“客户端路由”或“服务器端路由”?

5
投票
路线

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

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

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


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

对于

example

是路线,this 也是路线,但这里它们返回的数据不同,所以我们可以说这里的最后两个参数是终点,意味着 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



0
投票
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
  • 。删除评论并返回现在删除的评论数据。
    
        

0
投票

endpoints:客户端可以发送请求的外部地址

routes:内部服务器配置,定义如何处理对特定 URL 模式或 HTTP 方法的请求 换句话说,端点是客户端与之交互的内容,而路由是服务器如何组织和响应这些交互的方式

© www.soinside.com 2019 - 2024. All rights reserved.