API的介绍
出版者:必威平台,2023年3月20日介绍
api(应用程序编程接口)是现代软件开发的一个基本部分,允许软件组件进行交互,为开发人员提供一个标准和有效的方式来构建应用程序可以很容易地与其他软件系统集成。api可以以不同的方式使用,但是他们是最常用的,使客户端和服务器之间的通信或不同的软件组件之间在同一个应用程序。
api可以分为不同类型根据他们的功能和体系结构,如web api, REST api, SOAP api,和许多其他人。
Psychz api的帮助下,您可以将您的系统进行无缝集成的处理各种服务在你的服务器上。您可以查看整个列表可用的api和相关信息//m.thru-suit.com/api/doc/dist/
请求
在一个API请求,一个应用程序(客户端)发送一个请求到另一个应用程序(服务器)使用一组预定义的规则和协议。然后,服务器处理请求并返回一个响应给客户端,包括数据、状态更新,或错误消息。API请求可以用于各种目的,如从数据库中检索数据,应用程序之间发送消息,或集成不同的软件系统。
得到
一个API GET请求是一个HTTP请求,通常从一个web服务器或API检索数据。当你做一个GET请求,你问服务器返回一个特定的资源或数据关联到一个URL。GET请求,您通常使用一个HTTP客户端库或工具,如旋度,邮递员,或者Python库的请求。客户端请求服务器所需的资源的URL和API需要任何额外的参数。
例如,您可以使用Psychz API找到OS安装请求的状态。允许您检查的进展状态实时操作系统安装。%完成状态显示。的请求URL可能看起来像这样:
服务器将响应与一个JSON文档,其中包含操作系统安装的进展状况
{
“状态”:没错,
"数据":{
“状态”:“准备好了”,
“进步”:“100%”
}
}
气象数据的位置。然后您可以使用这些数据在应用程序中显示天气信息给用户。
重要:当使API请求记住他们通常只读操作。换句话说,你只从服务器检索数据,不做任何修改。如果您需要修改的数据在服务器上,你通常使用不同的HTTP方法,比如POST或PUT。
删除
删除请求通常用于web应用程序和api来删除数据或记录,不再需要或已经过时了。删除请求通常用于删除一个资源被一个独特的URL或URI(统一资源标识符)。删除请求,客户端向服务器发送一个HTTP DELETE方法,随着资源的URL被删除。如果服务器接收请求,并确定资源的存在和可以被删除,它将删除资源并发送一个响应指示成功。如果服务器不能删除资源,它将发送一个错误消息与适当的状态码。
把
PUT请求通常用于web应用程序和api来修改或更新数据存储在一个服务器上。PUT请求,客户端向服务器发送一个HTTP PUT方法,随着资源URL更新和新数据存储代替旧的数据。
帖子
POST方法发送数据到服务器并创建一个新资源。其创建的资源隶属于其他家长资源。当一个新的资源发布到父,API服务会自动关联的新资源分配一个ID(新资源的URI)。简而言之,这个方法是用来创建一个新的数据条目。
HTTP状态
HTTP状态代码是必不可少的诊断和故障排除问题的web应用程序和api。通过检查服务器返回的状态码,开发者可以洞察出了什么问题,采取适当的行动以解决问题。这些代码是三位数字表示的状态由客户端向服务器请求。有五类状态码,每码的范围:
2 xx成功:这些代码表明请求是成功和服务器完成请求的操作。
例子:200 -好的,201年创建,204 -没有内容。
4 xx客户错误:这些代码显示一个错误与客户的要求。
例子:400 -错误请求,401 -未经授权,404 -没有发现,403 -禁止的。
5 xx服务器错误:这些代码在服务器端显示一个错误在处理请求。
例子:500内部服务器错误,502 -糟糕的网关,503 -服务不可用。
错误响应
HTTP(超文本传输协议)状态码5 4 xx和xx范围内显示错误或服务器的响应客户机的请求。这些错误响应旨在提供关于错误的信息,帮助客户理解错了。下面是一些常见的HTTP错误响应及其含义:
400错误请求:服务器无法理解客户的请求,由于无效的语法。
401年未经授权:客户端必须进行身份验证请求的响应。
403年禁止:客户没有权利内容或资源的访问。
404 Not Found:服务器无法找到所请求的资源。
405不允许的方法:使用的方法为资源请求是不允许的。
406不能接受的:服务器不能产生一个响应匹配请求中定义的可接受的值列表的头。
500内部服务器错误:服务器遇到意外情况,阻止它实现请求。
502错误网关:服务器作为网关或代理,收到了一个无效回应从上游服务器访问履行请求。
503服务不可用:服务器无法处理请求由于维护、重载或其他临时的原因。
分页
API(应用程序编程接口)分页技术,将大数据集分解成更小、更易管理的块或页面。这通常是必要的在处理api返回很多结果,如搜索结果或数据库查询,以避免压倒性的客户端或服务器有太多数据。
API分页通常涉及两个主要参数:
页码
这个参数指定客户端想要检索的结果页面。例如,如果客户想要检索第二个结果页面,他们会将页码设置为2。
页面大小
该参数指定结果包含在每个页面的数量。例如,如果客户端希望每个页面有10个影响,他们会将页面大小设置为10。
API将返回所请求的结果页面根据指定的数量和大小。
反应
下面是一些例子的API的反应
得到响应代码200:操作系统类别的列表,操作系统分区,等等
请求URL:https://api.psychz.net/v1/devices_detailed_list?access_token=xxx&access_username=yyy
{
“状态”:没错,
“代码”:200年,
"数据":{
" 123 ":{
“device_id”:“123”,
“client_id”:“123”,
“service_id”:“001”,
“device_name”:“abc”,
“标签”:“”,
“类别”:“XYZ”
},
" 134 ":{
“device_id”:“134”,
“client_id”:“123”,
“service_id”:“002”,
“device_name”:“abc”,
“标签”:“”,
“类别”:“XYZ”
}
}
}
得到响应代码200:客户订单列表
请求URL:https://api.psychz.net/v1/order_list?access_token=xxx&access_username=yyy
{
“状态”:没错,
“数据”:(
{
“order_id”:“818524”,
“总”:“59.00”,
“order_time”:“2023-04-04 07:04”,
“last_activity”:“2023-04-04 07:04”,
“service_category_code”:“专用”,
“plan_id”:“441”,
“标题”:“优惠:100 tb -阿姆斯特丹:e3 - 1270 v5”,
“状态”:“供应”
},
{
“order_id”:“818516”,
“总”:“29.00”,
“order_time”:“2023-04-04 06:04”,
“last_activity”:“2023-04-04 06:04”,
“service_category_code”:“专用”,
“plan_id”:“389”,
“标题”:“优惠:1 gbps无计量-洛杉矶:e3 - 1230 v2”,
“状态”:“供应”
},
{
“order_id”:“818515”,
“总”:“316.00”,
“order_time”:“2023-04-04 05:04”,
“last_activity”:“2023-04-04 05:04”,
“service_category_code”:“专用”,
“plan_id”:“275”,
“标题”:“Ashburn:: e3 - 1270 v5”,
“状态”:“供应”
}
........................................
........................................
]
}
得到响应代码200:分页请求
在这个例子中,5项的API是返回一个页面从第四项(抵消= 3)。极限参数设置为5,这意味着响应将包含最多5项。
{
“状态”:没错,
"数据":{
" 6685 ":{
“device_id”:“6685”,
“client_id”:“7155”,
“service_id”:“148118”,
:“device_name testdevice”,
“标签”:“e3 - 1230 v2”,
“类别”:“专用服务器”
},
" 9170 ":{
“device_id”:“9170”,
“client_id”:“7155”,
“service_id”:“148113”,
“device_name”:“降级”,
“标签”:“e5 - 1650 v3 -交付准备服务器”,
“类别”:“专用服务器”
},
" 9794 ":{
“device_id”:“9794”,
“client_id”:“7155”,
“service_id”:“148114”,
:“device_name dv1”,
“标签”:“e3 - 1270 v5”,
“类别”:“专用服务器”
},
" 10102 ":{
“device_id”:“10102”,
“client_id”:“7155”,
“service_id”:“147831”,
:“device_name Apparao-2”,
“标签”:“e3 - 1230 v5”,
“类别”:“专用服务器”
},
" 11064 ":{
“device_id”:“11064”,
“client_id”:“7155”,
“service_id”:“143112”,
:“device_name psychzbizcdn”,
“标签”:“”,
“类别”:“全球内容分发网络”
}
}
}