API中URL规划建议

本文分享了关于API中URL规划的建议,通过对比OpenStack和阿里云的API设计,强调了URL应清晰反映其功能。例如,OpenStack的servers/{server_id}/ips/{network_id}用于获取特定服务器的IP信息。建议API设计应遵循HTTP请求类型(GET, POST, PUT, DELETE)对应的操作,并提供过滤条件以便用户精确查询。" 122135590,10947879,使用阿里云镜像安装EPEL的步骤,"['云计算', '阿里云', 'Linux', 'CentOS', '软件源']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言: 一个好的api在很大程度上会在api 中url的命令去体现,因为api的初衷就是让使用者容易接受,简单易懂,快速知道这个api中的URL代表是有什么用途。
由于之前的项目经验,一直使用openstack和阿里云的一些api。所以在API中的url规划,有那么一点点的认识。现在分享一下一些个人的想法吧。

openstack:遵循了开源界中的api命名规则,请求的方式有常用的http请求(GET,POST,PUT,DELETE),不同的请求代表着不同的操作。

阿里云:大部分的请求方式为POST,在其api的意义会表现在url 上(例如: CreateDisk,代表创建磁盘)

下面我们详细说一下具体openstack API的url是如何进行规划的。

在这里,我就举个例子,

servers: 返回所有server的信息(一些重要的字段)
servers/detail: 返回所有server的所有信息(所有字段)
servers/{server_id}: 返回一个server的信息(一些重要字段)
servers/{server_id}/detail: 返回一个server的所有信息(所有字段)
servers/{server_id}/ips: 列出了server中所有ip的信息(相当如表关联查询)
servers/{server_id}/ips/{network_id}: 列出了server中某个ip的信息(相当如表关联查询)

以上所有API的url都会有四种请求方式(GET,POST,PUT,DELETE)来代表获取,新建,更新,删除等操作,所有的结果返回都会为这样的模式,
{"code":200,"servers":[{server1_info}, {server2_info}], "message":"thist ok"}。

其中GET请求会有一些过滤条件,来方便用户获得更加精准的数据。
例如:
servers?servers_name=server_test_01 :这样表示过滤获得server_name为server_test_01的server。多个条件之间使用&隔开servers?servers_name=server_test_01&ip=‘192.168.1.1’

在API的规划中,我们可以根据这样的思路逻辑来设计自己的api,这样会是用户更加清楚自己api的意义。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值