Swagger 를 사용 하여 문서 자동 생 성

Swagger 가 뭐 예요?
Swagger 는 RESTful 스타일 의 웹 서 비 스 를 생 성, 설명, 호출, 시각 화 하 는 규범 적 이 고 완전한 프레임 워 크 입 니 다.
Springfox 의 전신 은 swagger - springmvc 로 원본 을 여 는 API doc 프레임 워 크 입 니 다. 저희 Controller 의 방법 을 문서 로 보 여 드릴 수 있 습 니 다. Swagger 기반 입 니 다.
홈 페이지:http://swagger.io/
원본 주소:http://springfox.github.io/springfox/
Swagger 사용
첫 번 째 단계: 가 져 오기 의존


	io.springfox
	springfox-swagger2
	2.7.0


	io.springfox
	springfox-swagger-ui
	2.7.0

STEP 2: 오픈
@ Enableswagger 2 주석
@SpringBootApplication
@RestController
@EnableSwagger2
public class DemoApplication {

세 번 째 단계: 접근http://localhost:8080/swagger-ui.html
使用Swagger自动生成文档_第1张图片
모든 controller 의 API 를 차단 한 경우, 고정된 package, url 의 API 를 어떻게 차단 합 니까?
STEP 4: url 맞 춤 형 API
모든 인 터 페 이 스 를 한꺼번에 차단 할 수도 있 고, 그룹 을 나 누 어 차단 할 수도 있다.
@Configuration
public class Swagger2Configuration {
    /*@Bean
	public Docket accessToken() {
		return new Docket(DocumentationType.SWAGGER_2).groupName("  ")//    
				.select() //         api     document
				.apis(RequestHandlerSelectors.basePackage("com.zto.springboot.controller")) //       
				.paths(PathSelectors.regex("/web/.*"))//        
				.build() //   
				.apiInfo(apiInfo()); //     
	}*/
	
	@Bean
	public Docket accessToken2() {
		return new Docket(DocumentationType.SWAGGER_2).groupName("    ")//    
				.select() //         api     document
				.apis(RequestHandlerSelectors.basePackage("com.zto.security.web.controller")) //       
				//.paths(PathSelectors.regex("/user/.*"))//        
				.paths(PathSelectors.any())  //      
				.build() //   
				.apiInfo(apiInfo()); //     
	}

	private ApiInfo apiInfo() {
		return new ApiInfoBuilder()
				.title("xxx      ")//   
				.description("xxx    xxx    xxx    xxx    ")//   
				.contact(new Contact("xxx", "http://www.baidu.com","[email protected]"))//   
				//.termsOfServiceUrl("http://www.roncoo.com")  //     URL
				// .license("Apache License Version 2.0")//     
				// .licenseUrl("https://github.com/springfox/springfox/blob/master/LICENSE")//  
				.version("1.0")//   
				.build();
	}

}

STEP 5: 제어 층 주해 사용 설명
@Api:     ,  Controller   
@ApiOperation:          ,       
@ApiParam:      
@ApiModel:        
@ApiProperty:        ,         
@ApiResponse:HTTP    1   
@ApiResponses:HTTP      
@ApiIgnore:         API
@ApiError :         
@ApiParamImplicitL:      
@ApiParamsImplicit       

@ApiOperation  
@ApiOperation(value = "      ", notes = "    ")
@PostMapping
public User create(@Valid @RequestBody User user, BindingResult errors) {
    return user;
}
 
    
@ApiModelProperty
public class UserQueryCondition {
	
	private String username;

	@ApiModelProperty(value = "       ")
	private int age;

	@ApiModelProperty(value = "       ")
	private int ageTo;
	
	private String xxx;
}

@ApiParam
@ApiOperation(value = "      ", notes = "    ")
@DeleteMapping("/{id:\\d+}")
public void delete(@ApiParam("  id") @PathVariable String id) {
   System.out.println(id);
}

최종 효과
使用Swagger自动生成文档_第2张图片

좋은 웹페이지 즐겨찾기