RESTful服务+Swagger
RESTful介绍
- RESTful是目前流行的互联网软件服务架构设计风格
- REST依次是由Roy Thomas Fielding在2000年的博士论文中提出的,它定义了互联网软件服务的架构原则如果一个架构符合REST原则,则称之为RESTful架构
- REST并不是一个标准,更像是一组客户端和服务端交互时的架构理念和设计原则,基于这种架构理念和设计原则的Web API更加借鉴、有层次(原因就是不同的请求方式POST GET PUT DELETE)
- 特点:
每一个URI代表一种资源
客户端使用GET、POST、PUT、DELETE四种表示操作方式的动词对服务端资源进行操作:GET用于获取资源,POST用于新建资源(也可以用于更新资源),PUT用于更新资源,DELETE用于删除资源。
通过操作资源的表现形式来实现服务端请求操作。
资源的表现形式是JSON或者HTML。
客户端与服务端之间的交互在请求之间是无状态的,从客户端到服务端的每个请求都包含必需的信息。 - RESTful API:
符合RESTful规范的Web API需要具备如下两个关键特性:
安全性:安全的方法被期望不会产生任何副作用,当我们使用GET操作获取资源时,不会引起资源本身的改变,也不会引起服务器状态的改变。
幂等性:幂等的方法保证了重复进行一个请求和一次请求的效果相同(并不是指响应总是相同的,而是指服务器上资源的状态从第一次请求后就不再改变了),在数学上幂等性是指N次变换和一次变换相同。 - HTTP Method:
HTTP提供了POST、GET、PUT、DELETE等操作类型对某个Web资源进行Create、Read、Update和Delete操作。
一个HTTP请求除了利用URI标志目标资源之外,还需要通过HTTP Method指定针对该资源的操作类型,一些常见的HTTP方法及其在RESTful风格下的使用:
- SpringBoot实现RESTful:
Spring Boot提供的spring-boot-starter-web组件完全支持开发RESTfulAPI,提供了与REST操作方式(GET、POST、PUT、DELETE)对应的注解。
@GetMapping:处理GET请求,获取资源。
@PostMapping:处理POST请求,新增资源。
@PutMapping:处理PUT请求,更新资源。
@DeleteMapping:处理DELETE请求,删除资源。
@PatchMapping:处理PATCH请求,用于部分更新资源。- 在RESTful架构中,每个网址代表一种资源,所以URL中间一不要包含动词,值包含名词即可,而且用的名词往往与数据库的表格名对应
- 在RESTful架构中,每个网址代表一种资源,所以URL中间一不要包含动词,值包含名词即可,而且用的名词往往与数据库的表格名对应
- 什么是Swagger:
Swagger是一个规范和完整的框架,用于生成、描述、调用和可视化RESTful风格的Web服务,是非常流行的API表达工具。
Swagger能够自动生成完善的RESTfulAPI文档,同时并根据后台代码的修改同步更新,同时提供完整的测试页面来调试API。- 将Swagger的依赖导入pom文件中
创建一个Swagger的配置类,配置一些关键信息即可使用
.apis(RequestHandlerSelectors.basePackage("com"))语句代表扫描那个包下的控制器,com就是com保险的所有控制器
当这些工作做完,我们就可以访问我们自己的Swagger2生成的API启动程序,访问http://127.0.0.1:8080/swagger-ui.html
- 将Swagger的依赖导入pom文件中
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具