springboot项目中使用Swagger的简单示例

作者:码农小权 时间:2023-01-14 05:18:24 

1、Swagger是啥

Swagger 是一个用于生成、描述和调用 RESTful 接口的 Web 服务。通俗的来讲,Swagger 就是将项目中所有(想要暴露的)接口展现在页面上,并且可以进行接口调用和测试的服务。 Swagger 官网地址:https://swagger.io/

2、Swagger有什么用?

 Swagger 有以下 3 个重要的作用:将项目中所有的接口展现在页面上,这样后端程序员就不需要专门为前端使用者编写专门的接口文档;当接口更新之后,只需要修改代码中的 Swagger 描述就可以实时生成新的接口文档了,从而规避了接口文档老旧不能使用的问题;通过 Swagger 页面,我们可以直接进行接口调用,方便我们开发。

3、springboot中如何引入Swagger

1)在如依赖

<dependency>
           <groupId>io.springfox</groupId>
           <artifactId>springfox-swagger2</artifactId>
           <version>2.9.2</version>
       </dependency>

<dependency>
           <groupId>io.springfox</groupId>
           <artifactId>springfox-swagger-ui</artifactId>
           <version>2.9.2</version>
       </dependency>

2)创建一个controller类

import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class TestController {

@PostMapping("/hello")
   public String hello(String str){
       return "hello,"+str;
   }
}

3)再创建一个Swagger配置类SwaggerConfig类

@Configuration
@EnableSwagger2//开始Swagger2
public class SwaggerConfig {

//配置了Swagger 的Docket的bean实例
   @Bean
   public Docket docket(){

ParameterBuilder ticketPar = new ParameterBuilder();
       List<Parameter> pars = new ArrayList<>();
       ticketPar.name("Authorization").description("token")//Token 以及Authorization 为自定义的参数,session保存的名字是哪个就可以写成那个
               .modelRef(new ModelRef("string")).parameterType("header")
               .required(false).build(); //header中的ticket参数非必填,传空也可以
       pars.add(ticketPar.build());    //根据每个方法名也知道当前方法在设置什么参数

return new Docket(DocumentationType.SPRING_WEB)
               .apiInfo(apiInfo())
               .select()
               //RequestHandlerSelectors, 配置要扫描接口的方式
               //basePackage:指定要扫描的包
               //any():扫描全部
               //withClassAnnotation: 扫描类上的注解
               //withMethodAnnotation: 扫描方法上的注解
               .apis(RequestHandlerSelectors.basePackage("com.example.swagger.controller"))
               .build()
               .globalOperationParameters(pars);
   }

//配置Swagger 信息=apiInfo
   private ApiInfo apiInfo(){
       return new ApiInfo(
               "Logistics Api",//文檔命名
               "test",//文檔描述
               "v1.0",//
               "http:127.0.0.1/",
               null,//contact
               "Apache 2.0",
               "http://www.apache.org/licenses/LICENSE-2.0",
               new ArrayList()
       );
   }
}

注意!

注意!

注意!

把apis(RequestHandlerSelectors.basePackage("com.example.swagger.controller"))中的

&ldquo;com.example.swagger.controller &rdquo;路径写成你自己的controller包的路径

4、项目的总体结构

springboot项目中使用Swagger的简单示例

5、通过网址访问网页

在完成以上步骤之后点击运行,等运行完后再在浏览器中访问以下网址:

http://127.0.0.1:8080/swagger-ui.html#/

这里的端口要改为自己的端口。

效果如图所示

springboot项目中使用Swagger的简单示例

总结 

来源:https://blog.csdn.net/weixin_62604823/article/details/127037285

标签:springboot,swagger
0
投稿

猜你喜欢

  • C# TaskScheduler任务调度器的实现

    2022-09-30 16:54:21
  • Android使用criteria选择合适的地理位置服务实现方法

    2022-09-26 14:24:34
  • Java 动态数组的实现示例

    2022-02-27 07:05:25
  • java操作mongodb示例分享

    2023-09-07 19:00:02
  • Java8新特性之默认方法(default)浅析

    2023-10-03 10:41:13
  • 如何实现java Iterator迭代器功能

    2023-10-14 14:30:49
  • MyBatis中映射文件的使用案例代码

    2021-09-02 23:55:41
  • 用java实现的获取优酷等视频缩略图的实现代码

    2022-03-11 14:19:32
  • 如何使用Spring AOP预处理Controller的参数

    2022-09-11 10:01:56
  • C#窗体编程不显示最小化、最大化、关闭按钮的方法

    2023-03-03 00:04:29
  • android侧滑菜单控件DrawerLayout使用方法详解

    2023-02-02 23:58:43
  • Android中Handler引起的内存泄露问题解决办法

    2023-11-08 23:40:58
  • intellij idea14打包apk文件和查看sha1值

    2022-05-25 13:18:37
  • java如何从不规则的字符串中截取出日期

    2022-05-28 02:33:58
  • 使用Mybatis如何实现删除多个数据

    2023-06-15 21:11:57
  • Android用 Mob 实现发送短信验证码实例

    2021-10-17 03:53:16
  • 浅谈Java内存区域划分和内存分配策略

    2023-08-11 18:52:49
  • Android中socket通信的简单实现

    2023-01-21 12:24:22
  • Java常量池详解

    2023-05-19 19:36:27
  • Java设置PDF有序和无序列表的知识点总结

    2022-04-18 03:29:27
  • asp之家 软件编程 m.aspxhome.com