<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>${swagger.version}</version> </dependency>
<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>${swagger.version}</version> </dependency>
가장 일반적으로 사용되는 버전은 2.9.2
springfox에서 제공하는 @EnableSwagger2 주석 swagger2 관련 기술을 활성화할 수 있습니다. 프로그램은 현재 클래스의 패키지 및 하위 패키지에 있는 모든 유형을 탐색하여 Swagger와 관련된 주석을 찾고 Swagger 문서를 사용자 정의합니다
사용해보기를 클릭하여 해당 매개변수를 입력하면 반환 결과를 볼 수 있습니다
@EnableSwagger2 @Configuration public class SwaggerConfig { @Autowired private ApplicationContext applicationContext; private Contact contact = new Contact("NIUA","localhost:8080/swagger-ui.html", "1053288979@qq.com"); @Bean public Docket createRestApi() { ServletContext servletContext = applicationContext.getBean(ServletContext.class); return new Docket(DocumentationType.SWAGGER_2) .select() .apis(RequestHandlerSelectors.any()) .paths(Predicates.not(regex("/error.*"))) .build() .apiInfo(apiInfo()); } private ApiInfo apiInfo() { return new ApiInfoBuilder() .title("平台接口 v1.0") .description("平台接口") .contact(contact) .version("1.0") .build(); } }
@Bean public Docket createRestApi() { ServletContext servletContext = applicationContext.getBean(ServletContext.class); return new Docket(DocumentationType.SWAGGER_2) .select() .apis(RequestHandlerSelectors.any()) .paths(Predicates.not(regex("/error.*"))) .build() .apiInfo(apiInfo()); }
Docker 유형 개체를 생성하고 스프링 컨테이너 관리를 사용합니다. Docker는 Swagger의 전역 구성 개체입니다.
DocketationType.SWAGGER_2를 사용하여 Docket의 클래스 개체를 지정하여 어떤 버전이 사용되는지 확인합니다.
apiInfo(): API 문서의 설명 정보, 매개변수는 ApiInfo 클래스 개체, 사용 bulid()
private ApiInfo apiInfo() { return new ApiInfoBuilder() .title("平台接口 v1.0") .description("平台接口") .contact(contact) .version("1.0") .build(); }contact() 생성을 위한 빌더: 클래스 객체이기도 한 Swagger 문서의 주요 콘텐츠를 구성합니다. 클래스 객체는 최대 3개의 매개변수, 출판사 이름, 문서 게시자의 웹사이트 URL 주소( 기업 홈페이지), 문서 게시자의 이메일 주소
private Contact contact = new Contact("NIUA","localhost:8080/swagger-ui.html", "1053288979@qq.com");title(): 제목 설명(): 설명 정보.version(): 버전 정보
다음 내용에 해당
반환 방법 ApiSelectorBuilder는 select()이며 Docker에서 선택기를 가져오는 데 사용됩니다. 선택기를 빌드합니다. 예를 들어 스캔할 패키지에 대한 주석은
apis(): 스캔할 해당 패키지의 주석을 규정하는 RequestHandlerSelectors 클래스 아래의 (Predicate) 규칙입니다. 기본값은 시작 클래스 및 해당 클래스의 주석입니다. 하위 패키지
RequestHandlerSelectors 클래스 아래에는 몇 개가 있습니까? 정적 메서드(예 3개)
basePackage(): 나중에 패키지 이름의 특정 주소와 수정된 패키지 및 해당 하위 패키지의 주석을 입력합니다.
docker.apis(RequestHandlerSelectors.basePackage("com.xxx"))any(): 모든 인터페이스에 대한 API 문서 생성
none(): 모든 인터페이스에 대한 인터페이스 문서가 생성되지 않습니다.
path(): 정규식을 사용하여 생성된 Api의 경로 주소를 제한합니다. 문서를 작성한 다음 필터링된(통과된) 경로를 입력하세요
//过滤掉admin路径下的所有页面 .paths(Predicates.not(PathSelectors.regex("/admin/.*"))) //过滤掉所有error或error.*页面 .paths(Predicates.not(PathSelectors.regex("/error.*"))) //所有error或error.*页面或者admin路径下的所有页面都支持(or任意满足起一就通过) .paths(Predicates.or(PathSelectors.regex("/error.*"),PathSelectors.regex("/admin/.*")))
여기에 언급되지 않았습니다. 관심이 있는 경우 직접 검색할 수 있습니다. 미래)
Function: @Api는 클래스에 대한 주석입니다. 전체 클래스
속성:
태그: 클래스 이름에서 생성되는 인터페이스 정보의 내용을 제어합니다. 여러 값이 있는 경우, 즉 사용 가능한 복사본(별칭)이 여러 개 있음을 의미하는 경우 SwaggerUI 보기에는 메뉴에 액세스할 수 있는 컨트롤러가 표시됩니다.
Function
: @ApiOperation은 메소드에 대한 주석으로, 메소드의 관련 정보를 설명합니다
Attributes
:value: 메소드 설명 function
@ApiParm
Function: @ApiParm은 메서드 매개변수에 대한 주석입니다. 매개변수 설명
attribute
:이름: 매개변수 이름
required: 값은 매개변수가 필수 매개변수인지 여부를 나타내는 부울 유형이며, 기본값은 false입니다.
@ApiIgnore
作用:@ApiParm是方法或者参数的注解。忽略注解的方法或者参数,不生成帮助文档
@ApiImplicitParam(常用)
作用:@ApiParm是作用于类上方法,用来描述方法参数的注解。
属性:
name:参数名称,和方法的参数一致
value:参数具体描述
required:值为boolean类型,表示该参数是否为必要参数,默认为false
paramType:参数类型
paramType="字符串" paramType = "header"dataType:数据类型
dataType = "string" //字符串数据 dataType = "键值对"@ApiImplicitParams
后面跟@ApiImplicitParam的集合,一般用于多个参数的描述
@ApiImplicitParams({@ApiImplicitParam(name = "Authorization", value = "Authorization token", required = true, dataType = "string", paramType = "header")})@ApiModel(常用)
作用:@ApiModel是作用于实体类上,描述一个实体类型,整个实体类型如果成为任何一个生成api帮助文档的返回对象的时候,该注解被解析
属性:
value:实体类名称
description:实体类描述
@ApiModelProperty(常用)
作用:@ApiModel是作用于实体类的属性上,描述实体类属性
属性:
value:实体属性描述
name:实体类属性名字,与属性名一致
위 내용은 SpringBoot 프로젝트에서 Swagger2를 사용하는 방법과 주석 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!