什么是REST API入口点?它与端点有何不同?
我已经在网上搜索了各种定义,但似乎仍然无法绕开它们(一般来说,我是API的新手)。据我了解,它们提供了与服务器通信的方式,但是它们到底是什么?入口点和端点如何相似或不同?
答案 0 :(得分:3)
在这里与Roman Vottner达成一致并竖起大拇指。我只想在此添加一些链接,以供尝试获得清晰想法的任何人使用。
API端点
我喜欢这里的答案:https://smartbear.com/learn/performance-monitoring/api-endpoints/
“简单地说,端点是通信通道的一端。当API与另一系统交互时,该通信的接触点被视为端点。对于API,端点可以包括服务器的URL或每个端点都是API可以访问其执行功能所需资源的位置。”
此处提供示例:What is an Endpoint?
https://example.com/api/login
https://example.com/api/accounts
https://example.com/api/cart/items
API入口点
看这里:https://restful-api-design.readthedocs.io/en/latest/urls.html
”“ RESTful API需要具有一个并且恰好是一个入口点。入口点的URL需要传达给API客户端,以便他们可以找到API。 从技术上讲,入口点可以看作是存在于任何集合外部的单例资源。”
因此,在前面的示例之后,将是:
https://example.com/api
附加说明:在GraphQL世界中,API有single endpoint
,没有入口点(https://graphql.org/learn/best-practices/#http)。通常为
https://example.com/graphql
答案 1 :(得分:1)
简单地说,进入点可能类似于http://api.your-company.com
,客户将在没有任何先验知识的情况下进入。 API将教客户需要知道的一切,以便对其下一步可以做的事情做出明智的选择。
关于端点Wikipedia,即声明以下内容:
端点,是面向服务的体系结构中服务,流程或队列或主题目的地的入口点
从广义上讲,端点只是调用的目标主机,应处理您的请求(或在负载平衡的情况下委托给其他一些计算机,否则就不行)。从更狭义的意义上讲,端点只是正在处理您的请求的调用的服务器端内容,即,像http://api.your-company.com/users/12345
这样的URI会要求用户表示(假设是GET请求)。具体的用户是处理过的资源,而端点实际上可能是基于Spring(或您选择的框架)的服务,用于处理所有与http://api.your-company.com/users/*
相关的请求。