springboot之RESTful接口与Swagger

一、RESTful

GET获取资源、POST新建资源、PUT更新资源、DELETE删除资源。

RESTful两大特性

1、安全性:GET请求不会引起资源本身改变。

2、幂等性:对一个接口请求和多次请求返回的资源应该一致。

2xx:成功

4xx:客户端错误。

5xx:服务器错误。

URI中不要包含动词

通过使用PathVariable注解获取{id}

@GetMapping("/user/{id}")public String getUserById(@PathVariable int id){System.out.println(id);return "根据ID获取用户信息";}

二、Swagger

用于生成、描述、调用和可视化RESTful风格的Web服务。

配置方法

添加包。这里使用到的swagger2的版本是2.9.2记得把springboot的版本改成2.5.6!!!

<!-- swagger2相关功能       --><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version>2.9.2</version></dependency><!--  swagger2ui      --><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger-ui</artifactId><version>2.9.2</version></dependency>

创建SwaggerConfig.java文件,专门放在config包下。
在这里插入图片描述

把代码放进去就好了。
注意这里重写了addResourceHandlers方法

package com.example.hello.config;import io.swagger.annotations.ApiOperation;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;//Spingboot中配置类必须要加注解
@Configuration
@EnableSwagger2
public class SwaggerConfig implements WebMvcConfigurer {@Overridepublic void addResourceHandlers(ResourceHandlerRegistry registry) {registry.addResourceHandler("swagger-ui.html").addResourceLocations("classpath:/META-INF/resources/");registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");}/** 配置swagger2相关Bean* */@Beanpublic Docket createRestApi(){return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).select().apis(RequestHandlerSelectors.basePackage("com"))   //com包下所有API都交给Swagger2管理.paths(PathSelectors.any()).build();}/** 此处主要是API文档页面显示信息* */private ApiInfo apiInfo(){return new ApiInfoBuilder().title("演示项目API")   //标题.description("演示项目")    //描述.version("1.0").build();}}

http://localhost:8080/swagger-ui.html/
然后就成功了

在这里插入图片描述

除此之外,还能给每个接口增加说明,需要到后端指定接口处去增加。

例如说,我在hello2这个方法增加了注解,要使用@ApiOperation("")注解

在这里插入图片描述

在swagger展示如下。在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/588654.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

windows 设置共享文件夹

1、选择您要共享的文件夹&#xff0c;并右键点击该文件夹。在弹出的菜单中&#xff0c;选择“属性”选项。属性窗口中&#xff0c;选择“共享”选项卡 2、在共享选项卡中&#xff0c;点击“高级共享”按钮&#xff0c;勾选“共享此文件夹”选项。可以根据需要设置共享文件夹的…

全数字化病理,“根深”才能“叶茂”

现代医学之父William Osler曾言&#xff1a;病理学乃医学之本。 作为研究人体疾病发生的原因、发病机制、病理变化以及疾病过程中机体的形态结构、功能代谢变化和病变转归的一门基础医学科学&#xff0c;病理学一直被视为基础医学与临床医学之间的“桥梁学科”&#xff0c;在医…

数码论坛系统的设计与实现|Springboot+ Mysql+Java+ B/S结构(可运行源码+数据库+设计文档)电子科技数码爱好者交流信息新闻畅聊讨论评价

本项目包含可运行源码数据库LW&#xff0c;文末可获取本项目的所有资料。 推荐阅读300套最新项目持续更新中..... 最新ssmjava项目文档视频演示可运行源码分享 最新jspjava项目文档视频演示可运行源码分享 最新Spring Boot项目文档视频演示可运行源码分享 2024年56套包含ja…

【turtle海龟先生】神奇的“圆”,画,太极圈,铜钱古币

turtle画圆三步法 步骤: 1、导入turtle库 2、确定半径&#xff0c;画圆(circle ) 3、结束(done ) turtle 库中提供一个直接画圆的函数 turtle.circle&#xff08;半径&#xff09;#半径单位为像素 例&#xff1a; turtle.circle ( 100 ) 表示绘制一个半径为100像素长度的圆形 …

用于自动驾驶,无人驾驶领域的IMU六轴陀螺仪传感器:M-G370

用于自动驾驶,无人驾驶的IMU惯导模块六轴陀螺仪传感器:M-G370。自2020年&#xff0c;自动驾驶,无人驾驶已经迎来新突破&#xff0c;自动驾驶汽车作为道路交通体系的一员&#xff0c;要能做到的就是先判断周边是否有障碍物&#xff0c;自身的行驶是否会对其他交通参与成员产生危…

【解决问题】排查linux文件手动删除文件,但是文件标记为deleted,资源未释放

背景&#xff1a; 生产环境我们把程序生成的数据文件手动删除后&#xff0c;但是空间并没有释放&#xff0c;导致硬盘被占用&#xff0c;不够用 问题排查&#xff1a; 1.查看占用文件状态 使用命令&#xff1a; lsof | grep deleted 查看 文件已经删除了&#xff0c;但是都是…

26.WEB渗透测试-BurpSuite(五)

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 内容参考于&#xff1a; 易锦网校会员专享课 上一个内容&#xff1a;26.WEB渗透测试-BurpSuite&#xff08;四&#xff09; bp其他模块内容参考&#xff1a;2…

讯飞星火API使用

一、简介 讯飞开放平台作为开放的智能交互技术服务平台,致力于为开发者打造一站式智能人机交互解决方案。用户可通过互联网、移动互联网,使用任何设备、在任何时间、任何地点,随时随地享受讯飞开放平台提供的“听、说、读、写……”等全方位的人工智能服务。目前,开放平台…

充气膜建筑VS钢结构建筑:优劣对比

充气膜、钢结构都属于建筑结构&#xff0c;经常性客户们就不知道两种方式&#xff0c;选哪种作为运动场馆更好。今天轻空间小编从几个方面给大家介绍如何选择&#xff1f; 结构和空间形式 充气膜建筑采用全封闭式结构形式&#xff0c;无需梁柱支撑&#xff0c;形成开阔的整体…

软考高级架构师:Web 服务器性能评估

一、AI 讲解 Web 服务器性能评估是评定服务器承载能力和效率的重要手段。主要关注几个关键指标&#xff1a;最大并发连接数、响应延迟、吞吐量。不同的评测方法可以帮助我们从多角度了解服务器性能&#xff0c;包括基准性能测试、压力测试、可靠性测试。系统检测通常采用系统本…

【C语言/C++】电子元器件管理系统(C源码)【独一无二】

&#x1f449;博__主&#x1f448;&#xff1a;米码收割机 &#x1f449;技__能&#x1f448;&#xff1a;C/Python语言 &#x1f449;公众号&#x1f448;&#xff1a;测试开发自动化【获取源码商业合作】 &#x1f449;荣__誉&#x1f448;&#xff1a;阿里云博客专家博主、5…

阿里的copilot通义灵码,ai代码生成插件,个人免费使用,支持vscode,idea等,在通义灵码用户互动还可以领盲盒

我之前用的 copilot&#xff0c;使用一段时间感觉差别不大&#xff0c;重要的是免费&#xff0c;没有体验过 copilot 的可以体验一下这个&#xff0c;个人是免费的&#xff0c;登陆也方便&#xff0c;推荐没用过的尝试一下&#xff0c;可以省去 copilot 的费用 通义灵码&#x…