以往开发或更新API时,往往需要深入讨论API的结构、命名、功能等,耗费大量时间。随着API行业的蓬勃发展,API设计也在蓬勃发展。经过这么多年的发展,RESTAPI等一些规则也得到了大多数人的认可。这些规则可以应用在开发过程中,帮助团队快速达成共识,达到提高效率的目的。接下来介绍API设计的原则和规则。然而,在本文中,我们将重点关注WebAPI。我先一句话解释。API是Application(应用程序)、Programming(编程)和Interface(接口)的缩写组合。顾名思义,两个应用程序可以通过一个编写良好的接口连接起来,接口可以内部使用,也可以对外开放。基本上,我们每次使用Web应用程序、发送消息或访问某个URL时,都在使用相应的API,无论是客户端应用程序还是服务器应用程序,数据都是通过API传递的。由于API和其他所有内容之间的所有通信都是通过HTTP完成的,因此HTTP非常重要,并且根据目的和需要需要不同的请求方法:GET—请求指定资源的表示。使用GET的请求应该只检索数据。POST—将数据提交到指定的资源。PUT——用请求的数据替换目标资源的所有当前表示。DELETE—删除指定的资源。PATCH—对资源应用部分修改。开发技术在不断发展,越来越多的API架构和协议也在不断发展。不同的体系结构和协议在制定数据类型、命令方法和功能方面是不同的。以前最流行的协议是基于XML的,现在逐渐被JSON取代。毫无疑问,当今世界上最常见的API架构是REST。我们在使用RESTAPI时,必须遵循JSON规范,以有效的JSON格式发出测试请求。好的API通常遵循这些规则:API必须与后端、数据存储、客户端等分离。考虑到安全性和灵活性,API必须是一个单独的层;不同的请求不应相互干扰并独立处理。这也意味着每个请求都需要包含处理它所需的所有信息;API应该独立于发送请求的客户端以相同的方式工作。例如在网络服务器、负载均衡器或任何其他客户端中;RESTAPI的响应还可以包含可执行代码,例如Java小程序。在这些情况下,代码只能按需运行;资源应该可以在客户端或服务器端缓存。这可以提高客户端性能,同时增加服务器端的可扩展性;处理错误并返回适当的错误代码。帮助用户知道是404还是其他问题;API必须是容错的。用户有时会因为网络超时等物理原因发送重复请求,这样的请求应该返回相同的结果;使用Eoapi或其他工具生成标准化的API文档。无论使用还是工作交接,都需要API文档。还有一些命名端点的好方法:仅使用名词:端点应使用指定资源内容的名词命名,而不是为正在执行的功能添加动词。例如,将端点命名为/users并使用不同的HTTP方法来处理用户实体,而不是创建多个/get-user、/add-user等端点;使用清晰的名称:端点的名称应该清晰直观。不要使用任何快捷方式或缩写,除非它很明显-/ids是可以理解的并且比/identification-numbers更可取;通过正斜杠构建层次结构:将端点分组为逻辑组。喜欢/departments/ids和/departments/managers,优于/departments-ids和/departments-managers;仅使用小写字母:URL区分大小写,因此最好尽可能避免使用大写字母;使用“-”分隔单词:端点名称中的不同单词通常以“-”分隔,而不是下划线或驼峰;避免特殊字符:URL只能使用ASCII字符集发送和接收,因此只能使用该字符集中的字符。同时,其他的如“%”、“[]”、“{}”、“|”、“、”、“<>”最好尽量避免。大多数RESTAPI都是使用微服务架构构建的。在这种情况下,此API结构将提供更改底层逻辑、添加或删除组件等的灵活性,而无需更改与其他服务的其他通信协议。相信大家对WebAPI的设计也有一定的了解。这是一个被无数人验证过的合理且优秀的方案。尝试将其应用到您的工作中!如果您觉得我的分享对您有启发或帮助,请给我一个赞和支持!我叫Eoapi,我是一个和Postman一样开源的API工具,我是轻量级的同时又是可扩展的!我可以简化您的API开发工作,让您创建更快更好的API。如果你对我的开源项目感兴趣,可以来这里:EOAPI官网或者Github好文Eoapi——一个可扩展的开源API工具一篇文章教你掌握和调试HTTPAPI5分钟通过Vercel部署一个接口测试工具!Angualr入门难?8个开源项目
