springboot与swagger2的集成

别等时光非礼了梦想. 提交于 2021-02-01 15:49:31
  1. 重点是方便测试,当然也可以生成HTML和PDF版本的接口规范文档。
  2. 最稳定最方便的版本2.7.0(UI界面依据个人爱好,boot版本2.1.2)
            <dependency>
                <groupId>io.springfox</groupId>
                <artifactId>springfox-swagger2</artifactId>
                <version>2.7.0</version>
            </dependency>
            <dependency>
                <groupId>io.springfox</groupId>
                <artifactId>springfox-swagger-ui</artifactId>
                <version>2.7.0</version>
            </dependency>

     

  3. swagger配置类
    @Configuration
    @EnableSwagger2
    public class Swagger2 {
    
    	@Bean
    	public Docket createRestApi() {
    		return new Docket(DocumentationType.SWAGGER_2).globalOperationParameters(getParameters()).apiInfo(apiInfo())
    				.select().apis(RequestHandlerSelectors.any())
    				.paths(PathSelectors.any()).build();
    	}
    
    	private ApiInfo apiInfo() {
    		return new ApiInfoBuilder().title("open-cloud-platform").version("1.0").build();
    	}
    
    	List<Parameter> getParameters() {
    		return Collections.singletonList(new ParameterBuilder().name("Authorization")
    				.defaultValue("Bearer " + JWTUtils.generate("123")).description("Authorization")
    				.modelRef(new ModelRef("string")).parameterType("header").required(false).build());
    	}
    }
     
  4.  如果只是为了进行在线测试,springboot与swagger的集合到此就OK了。离线测试工具使用的是pm(在于测试报文的报文)
  5. 常用注解:
    1. @Api:修饰整个类,描述Controller的作用
    2. @ApiOperation:描述一个类的一个方法,或者说一个接口
    3. @ApiParam:单个参数描述
    4. @ApiModel:用对象来接收参数
    5. @ApiProperty:用对象接收参数时,描述对象的一个字段
    6. @ApiResponse:HTTP响应其中1个描述
    7. @ApiResponses:HTTP响应整体描述
    8. @ApiIgnore:使用该注解忽略这个API
    9. @ApiError :发生错误返回的信息
    10. @ApiImplicitParam:一个请求参数
    11. @ApiImplicitParams:多个请求参数
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!