当前位置:   article > 正文

swagger工具编写接口文档_swagger 写法

swagger 写法

1、什么是swagger2

  • 编写和维护接口文档是每个程序员的职责,根据Swagger2可以快速帮助我们编写最新的API接口文档,再也不用担心开会前仍忙于整理各种资料了,间接提升了团队开发的沟通效率。

2、常用注解

  • swagger通过注解表明该接口会生成文档,包括接口名、请求方法、参数、返回信息的等等。

  • @Api:修饰整个类,描述Controller的作用
    @ApiOperation:描述一个类的一个方法,或者说一个接口
    @ApiParam:单个参数描述
    @ApiModel:用对象来接收参数
    @ApiModelProperty:用对象接收参数时,描述对象的一个字段
    @ApiImplicitParam:一个请求参数
    @ApiImplicitParams:多个请求参数

3.项目当中使用

3.1:先新建一个maven模块

  1.  我是在上一篇复习cloud的项目当中建的一个模块
  2. swagger1103
  3. 导入依赖
    1. <dependencies>
    2. <dependency>
    3. <groupId>org.springframework.boot</groupId>
    4. <artifactId>spring-boot-starter-web</artifactId>
    5. </dependency>
    6. <dependency>
    7. <groupId>org.springframework.boot</groupId>
    8. <artifactId>spring-boot-starter</artifactId>
    9. </dependency>
    10. <dependency>
    11. <groupId>org.springframework.boot</groupId>
    12. <artifactId>spring-boot-starter-test</artifactId>
    13. </dependency>
    14. <dependency>
    15. <groupId>io.springfox</groupId>
    16. <artifactId>springfox-swagger2</artifactId>
    17. <version>2.7.0</version>
    18. </dependency>
    19. <dependency>
    20. <groupId>io.springfox</groupId>
    21. <artifactId>springfox-swagger-ui</artifactId>
    22. <version>2.7.0</version>
    23. </dependency>
    24. <build>
    25. <plugins>
    26. <plugin>
    27. <groupId>org.springframework.boot</groupId>
    28. <artifactId>spring-boot-maven-plugin</artifactId>
    29. </plugin>
    30. </plugins>
    31. </build>
  4. 写上启动类,注意加上对应的注解(因为我们是手动配置springboot项目@EnableSwagger2
    1. @SpringBootApplication
    2. @EnableSwagger2
    3. public class SwaggerApp {
    4. public static void main(String[] args) {
    5. SpringApplication.run(SwaggerApp.class,args);
    6. }
    7. }
  5. 然后去写配置类SwaConfig(以后复制过去导包用就可以了,不用记)
    1. package com.pro.config;
    2. import com.google.common.base.Predicates;
    3. import org.springframework.context.annotation.Bean;
    4. import springfox.documentation.builders.ApiInfoBuilder;
    5. import springfox.documentation.builders.PathSelectors;
    6. import springfox.documentation.service.ApiInfo;
    7. import springfox.documentation.service.Contact;
    8. import springfox.documentation.spi.DocumentationType;
    9. import springfox.documentation.spring.web.plugins.Docket;
    10. public class SwaConfig {
    11. @Bean
    12. public Docket webApiConfig() {
    13. //.groupName是组的意思
    14. //apiInfo 在线文档的信息
    15. return new Docket(DocumentationType.SWAGGER_2)
    16. .groupName("webApi")
    17. .apiInfo(webApiInfo())
    18. .select()
    19. .paths(Predicates.not(PathSelectors.regex("/admin/.*")))
    20. .paths(Predicates.not(PathSelectors.regex("/error.*")))
    21. .build();
    22. }
    23. private ApiInfo webApiInfo() {
    24. return new ApiInfoBuilder()
    25. .title("网站-课程中心API文档")
    26. .description("本文档描述了课程中心微服务接口定义")
    27. .version("1.0")
    28. .contact(new Contact("java", "http://java.com", "111223@qq.com"))
    29. .build();
    30. }
    31. }
  6. 控制层,我们随便写了两个接口
    1. @RestController
    2. public class TestController {
    3. @GetMapping("/add")
    4. public Object add(User user){
    5. return user;
    6. }
    7. @PostMapping("/update")
    8. public Object update(User user){
    9. return user;
    10. }
    11. }
  7. 然后启动模块,去访问地址:
  8. http://localhost:8080/swagger-ui.html
  9. 就可以看到这个接口文档

总结:

  • swagger我们在这个学习案例当中只是单独的用在了一个模块当中
  • 实际上,我们在其他真正要开发的模块当中,我们只需要将依赖引入进去,然后加上我们上面的那个配置类,在对应模块启动类当中加上注解@EnableSwagger2,一样的去访问对应端口的接口文档,也可以很方便的使用
  • 我们重点只需要关注依赖,配置类,和注解就OK

 

 

 

 


 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/839345
推荐阅读
相关标签
  

闽ICP备14008679号