Cet article vous présente la méthode d'intégration de Swagger avec SpringBoot (avec du code). Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.
Qu'est-ce que Swagger
Importation de dépendances
<!-- Swagger --> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.4.0</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.4.0</version> </dependency>
Ajouter une configuration
swagger: title: 项目 API description: SpringBoot 集成 Swagger 项目 API version: 1.0 terms-of-service-url: http://www.baidu.com/ base-package: cn.anothertale.springbootshiro # 这一项指定需要生成 API 的包,一般就是 Controller contact: name: taohan url: http://www.baidu.ccom/ email: 1289747698@qq.com
Créer une configuration Swagger
package cn.anothertale.springbootshiro.config.swagger; import lombok.Getter; import lombok.Setter; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import springfox.documentation.builders.ApiInfoBuilder; import springfox.documentation.builders.PathSelectors; import springfox.documentation.builders.RequestHandlerSelectors; import springfox.documentation.service.ApiInfo; import springfox.documentation.service.Contact; import springfox.documentation.spi.DocumentationType; import springfox.documentation.spring.web.plugins.Docket; import springfox.documentation.swagger2.annotations.EnableSwagger2; /** * description: swagger 配置中心 * * @author: taohan * @date: 2019年03月20日 * @time: 16:52 */ @Getter @Setter @Configuration @EnableSwagger2 @ConditionalOnClass(EnableSwagger2.class) @ConfigurationProperties(prefix = "swagger") public class SwaggerConfig { /** * API 接口包路径 */ private String basePackage; /** * API 页面标题 */ private String title; /** * API 描述 */ private String description; /** * 服务条款地址 */ private String termsOfServiceUrl; /** * 版本号 */ private String version; /** * 联系人 */ private Contact contact; @Bean public Docket api() { return new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo()) .select() .apis(RequestHandlerSelectors.basePackage(basePackage)) .paths(PathSelectors.any()) .build(); } private ApiInfo apiInfo() { return new ApiInfoBuilder() .title(title) .description(description) .termsOfServiceUrl(termsOfServiceUrl) .version(version) .contact(contact) .build(); } }
Indiquer l'API via annotationsSwagger analyse toutes les interfaces et génère la description de l'API correspondante et les informations sur les paramètres en fonction du package configuré par défaut. Les annotations couramment utilisées et les attributs correspondants sont les suivants :
@Api
(décrit une classe API et est marqué sur le contrôleur)@ApiOperation
(utilisé dans la méthode Controller, illustre la fonction de la méthode)@ApiImplicitParams
(utilisé sur les méthodes Controller, décrivant un ensemble de paramètres de requête)@ApiImplicitParam
(Décrit un paramètre de requête)@ApiResponses
(description Un ensemble de réponses)@ApiResponse
(Décrivez une réponse)Enfin, vous pouvez saisir http:/ /localhost:8080/swagger-ui.html dans le navigateur pour y accéder !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!