为了提高开发效率我所做过的那些探索与开发

swagger2-spring-boot-starter自动化配

2019-11-06  本文已影响0人  识1DD编程

1. 简介

该框架是个人为了提高swagger的配置效率对swagger特性与SpringBoot进行了集成,基于swagger2-2.9.2与SpringBoot-2.0.1版本进行搭建,兼容SpringBoot2.x以上版本,不兼容1.x版本,maven依赖如下:

    <dependency>
        <groupId>io.github.wilson-he</groupId>
        <artifactId>swagger2-spring-boot-starter</artifactId>
        <version>1.0.4</version>
    </dependency>

2. 配置

3. 快速开始

启动类Application.java

package org.noslim.web;

import io.swagger.annotations.Api;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@SpringBootApplication
@RestController
@Api
@ApiResponses({@ApiResponse(code = 200, message = "success", response = ResponseEntity.class)})
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class);
    }

    @GetMapping("/index")
    public String index() {
        return "index";
    }

    @GetMapping("/home")
    public String home() {
        return "home";
    }

    @GetMapping("/home/test")
    public String homeTest() {
        return "test";
    }

    @GetMapping("/test")
    public String test() {
        return "test";
    }

    @GetMapping("/index/test")
    public String indexTest() {
        return "test";
    }

    @GetMapping("/index/test/a")
    public String indexTestA() {
        return "test";
    }
}

application.yml

swagger:
  print-init: true #非必需,默认false
  enabled: true 非必需,默认true
  docket:
    base-package: org.noslim.web   #必需
server:
  port: 8888   #非必需
  servlet:
    context-path: /test  #非必需

运行效果图:


控制台打印信息

4. 多文档Docket配置yml-demo

5. 配置提示

基本上非集合配置都提供了自动填充提示功能,效果图如下:


在这里插入图片描述
在这里插入图片描述

yml无法为集合如List、Map提供提示,如该框架中的parameters(List)、dockets(Map),个人建议可以直接配置paramter、docket再copy到parameters、dockets下,某些没有单数配置的如response-messages、api-key-list可以在IDE选中该配置然后快捷键提示(Ctrl+Q)查看配置,如下图:


返回码配置example
在这里插入图片描述
在这里插入图片描述

6. zuul配置例子

附源码地址

上一篇 下一篇

猜你喜欢

热点阅读