Swagger

swagger会为每个接口生成文档

1.加pom文件


   io.springfox
   springfox-swagger2
   2.2.2



   io.springfox
   springfox-swagger-ui
   2.2.2

2. 配置文件 SwaggerConfig

@Configuration
@EnableSwagger2
public class SwaggerConfig {

    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.my.demo.controller"))
                .paths(PathSelectors.any())
                .build();
    }

    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("aaaa中使用Swagger2构建RESTful APIs")
                .description(" ")
                .termsOfServiceUrl("http://www.baidu.com")
                .contact("aaaa")
                .version("1.0")
                .build();
    }


}

3.正常些controller 访问http://localhost:8080/swagger-ui.html 会看到接口

4.如果有需要可以在controller上添加一些注解

@ApiIgnore //在api中隐藏此接口  也可以隐藏参数
@RestController
public class TestController {

    @ApiOperation(value = "EEE", notes = "EEE")
    @ApiImplicitParam(name = "req", required = true, dataType = "BBBB")
    @PostMapping"/access")
    public XXX  access(@ApiIgnore @RequestAttribute("aaa") String aaa,
                       @RequestBody BBBB req){
   
     }
}

5.可以统一为所有接口加参数,比如header中加token

public Docket newsApi() {

	ParameterBuilder tokenPar = new ParameterBuilder();
	List pars = new ArrayList();
	tokenPar.name("token").modelRef(new ModelRef("string")).parameterType("header").required(false).build();
	pars.add(tokenPar.build());
	return new Docket(DocumentationType.SWAGGER_2).select()
			.apis(RequestHandlerSelectors.basePackage("com.my.aaa")).paths(PathSelectors.any()).build()
			.securitySchemes(Lists.newArrayList(apiKey())).globalOperationParameters(pars).apiInfo(apiInfo());

}


6.github

https://github.com/springfox/springfox
https://github.com/swagger-api/swagger-ui
回答的很快 

7.屏蔽某个变量

public class XXXXVo {

  @ApiModelProperty(hidden = true)
  private String doctorCode;

}

 

你可能感兴趣的:(java)