zoukankan      html  css  js  c++  java
  • spring cloud 集成 swagger2 构建Restful APIS 说明文档

    在Pom.xml文件中引用依赖
    <dependencies>
      <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-eureka</artifactId>
      </dependency>
      <!--Swagger-->
      <dependency>
        <groupId>io.springfox</groupId>
        <artifactId>springfox-swagger-ui</artifactId>
        <version>2.6.1</version>
      </dependency>
      <dependency>
        <groupId>io.springfox</groupId>
        <artifactId>springfox-swagger2</artifactId>
        <version>2.6.1</version>
      </dependency>
      <dependency>
        <groupId>org.json</groupId>
        <artifactId>json</artifactId>
      </dependency>
      <!-- actuator 健康检查,检测该服务是否正常运行 -->
      <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-actuator</artifactId>
      </dependency>
      <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
      </dependency>
    </dependencies>
    pom.xml
    Application.java
     
    package com.yyit.marketOperation.message;
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    import springfox.documentation.swagger2.annotations.EnableSwagger2;
    @SpringBootApplication
    @EnableSwagger2  //启动swagger注解
    public class Application{
    public static void main(String[] args){
      // TODO Auto-generated method stub
      SpringApplication.run(Application.class, args);
      }
    }
    Application.java
    • 引入了一个注解@EnableSwagger2来启动swagger注解。(启动该注解使得用在controller中的swagger注解生效,覆盖的范围由@ComponentScan的配置来指定,这里默认指定为根路径"com.xxx.firstboot"下的所有controller)
     
    在与Application.java同级目录中,创建一个新文件swagger2.java
     
    swagger2.java 
     
    package com.liuwq.marketOperation.message;
    import java.time.LocalDate;
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.ComponentScan;
    import org.springframework.context.annotation.Configuration;
    import org.springframework.http.ResponseEntity;
    import org.springframework.web.client.RestTemplate;
    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;
    @Configuration
    @ComponentScan(basePackages ={"com.liuwq.marketOperation.*"})
    @EnableSwagger2
    public class Swagger2{
      @Bean
      public Docket petApi(){
        return new Docket(DocumentationType.SWAGGER_2)
                    .apiInfo(apiInfo())
                    .select()
                    .apis(RequestHandlerSelectors.basePackage("com.liuwq.marketOperation.message"))
                    .paths(PathSelectors.any())
                    .build()
                    .pathMapping("/")
                    .directModelSubstitute(LocalDate.class,String.class)
                    .genericModelSubstitutes(ResponseEntity.class)
                    .useDefaultResponseMessages(false)
                    .enableUrlTemplating(true);
      }
      private ApiInfo apiInfo(){
        return new ApiInfoBuilder()
                    .title("Spring cloud 中使用Swagger2构建Restful APIs")
                    .description("微信墙,内容相关接口")
                    .termsOfServiceUrl("git@github.com:LiuwqGit/spring-boot-eureka.git")
                    .contact("liuwq").version("1.0").build();
      }
      @Bean
      public RestTemplate restTemplate(){
        return new RestTemplate();
      }
    }
    
    swagger2.java

    样式一:

     
     

    样式二:

    如果删除限制条件,会出现很多不想要的数据。
     
     
     

     
  • 相关阅读:
    iPhone6虽好,但也要借鉴这八个功能
    中小型企业商业智能平台的开发和实现(数据仓库、BI系统、真实项目实战)
    iOS开发入门教程_iOS开发视频教程
    零基础入门jQuery视频教程
    零基础3G Android移动开发就业培训
    请求库requesets库使用
    请求头加引号工具
    请求库urllib使用
    【Liunx】saltstack运维工具
    【Liunx】消息队列rabbitmp
  • 原文地址:https://www.cnblogs.com/weiqinl/p/6295952.html
Copyright © 2011-2022 走看看