현재 개발 프로세스에서는 기본적으로 API 인터페이스를 사용하여 시스템을 개발했습니다. 따라서 이 과정에서 좋은 API 문서는 백엔드와 프런트엔드 간의 통신과 개발을 위한 핵심 브리지가 되었습니다.
전통적인 접근 방식은 개발자가 모든 인터페이스 세부 사항을 기록하기 위해 RESTful API 문서를 만드는 것입니다. 솔직히 이러한 작업량은 작지 않으며 프로젝트가 업데이트됨에 따라 다음과 같은 문제가 발생합니다.
문서를 유지 관리하기가 어렵습니다.
인터페이스 내용이 더 복잡해지고 쓰기 효율성이 낮아집니다.
Swagger는 표준화되고 완전한 프레임워크로서 RESTful 스타일 웹 서비스를 생성, 설명, 호출 및 시각화하는 데 사용할 수 있습니다.
Swagger를 통해 프로세스 API 인터페이스 문서에서 인터페이스를 개발할 수 있습니다. 주석을 사용하여 자동으로 생성/업데이트되며 인터페이스 디버깅은 설명서 페이지에서 지원됩니다.
그런 다음 Swagger2(2는 버전을 나타냄)를 SpringBoot에 통합하는 방법에 대해 간략하게 이야기하겠습니다
pom. 주석, 구성 클래스로 지정되어 SpringBoot가 시작될 때 로드됩니다.
@EnableSwagger2 Swagger2를 활성화하는 주석입니다.
Member 메서드 createRestApi
함수는 Docket Bean apiInfo()을 생성합니다. API를 생성하는 데 사용되는 기본 정보(이러한 기본 정보는 설명서 페이지에 표시됩니다). select() 함수는 ApiSelectorBuilder를 반환합니다. 인스턴스는 표시를 위해 Swagger에 노출되는 인터페이스를 제어하는 데 사용됩니다. 이 예에서는 Swagger가 패키지 아래의 모든 컨트롤러를 검색하도록 지정하여 정의됩니다. API를 정의하고 문서 콘텐츠를 생성합니다(
@ApiIgnore로 지정된 요청 제외). 일반적으로 사용되는 Swagger 주석
@Api: 전체 클래스를 수정하고 컨트롤러의 역할을 설명@ApiOperation: 클래스의 메서드 또는 인터페이스를 설명
@ ApiParam
: 단일 매개변수 설명 @ApiModel: 매개변수를 수신하기 위해 객체를 사용@ApiProperty
: 객체를 사용하여 매개변수를 수신하는 경우 객체의 필드를 설명@ApiResponse
: 다음 중 하나 HTTP 응답 설명 @ApiResponses
: HTTP 응답에 대한 전체 설명@ApiIgnore
: 이 주석을 사용하여 이 API를 무시합니다@ApiError
: 오류 발생 시 반환되는 정보 @ApiImplicit Param
:요청 매개변수를 설명하고 매개변수의 중국어 의미를 구성할 수 있으며 매개변수의 기본값을 설정할 수도 있습니다. @ApiImplicitParams
: 요청 매개변수를 설명합니다. 여러 개의 @ApiImplicitParam
주석이 달린 매개변수 Chestnut
<dependencies> <!--Swagger2 在此,个人推荐使用2.8.0版本,较为稳定--> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.8.0</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.8.0</version> </dependency> </dependencies>
로 구성된 목록입니다. 마지막으로 SpringBoot 프로젝트를 실행한 후 서버 주소 /swagger-ui.html를 통해 액세스합니다. 경로 인터셉터가 추가된 경우
@Configuration // 指定扫描的api包路径 @ComponentScan(basePackages = {"cn.beatree.xxx.controller"}) //注解开启 swagger2 功能 @EnableSwagger2 public class Swagger2Config { @Value("${swagger2.enable}") boolean enable; // 配置文件中通过值注入控制生产环境与开发环境下的启用状态 @Bean public Docket createRestApi() { return new Docket(DocumentationType.SWAGGER_2) .enable(enable) .apiInfo(apiInfo()) .select() .apis(RequestHandlerSelectors.any()) .paths(PathSelectors.any()) .build(); } private ApiInfo apiInfo() { return new ApiInfoBuilder() .title("ANONVOTE | Swagger API文档")//标题 .description("description: ANONVOTE | Swagger API文档")//描述 .contact("BEATREE")//作者信息 .version("1.0.0")//版本号 .build(); } }
를 통해 Swagger 경로를 해제해야 합니다.
위 내용은 SpringBoot는 Swagger2를 통합하여 인터페이스 문서를 생성합니다. 엄마는 더 이상 내가 API 문서를 작성하는 것에 대해 걱정할 필요가 없습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!