Cet article présente principalement l'exemple de code Swagger intégré à SpringMVC. L'éditeur pense qu'il est plutôt bon. Maintenant, je vais le partager avec vous et le donner comme référence. Suivons l'éditeur et jetons un coup d'œil.
J'ai déjà écrit un article sur SpringBoot intégrant Swagger Parce que certains projets sont SpringMVC, je les ai brièvement triés et ils sont fondamentalement les mêmes.
Cet exemple utilise la version Spring 4.1.6
1. Ajouter une dépendance POM
<!-- Jackson --> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</artifactId> <version>2.5.3</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-annotations</artifactId> <version>2.5.3</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.5.3</version> </dependency> <!-- Swagger --> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.6.1</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.6.1</version> </dependency>
2 Ajouter la classe SwaggerConfig.java
package com.shanhy.demo.config; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; import com.google.common.base.Predicate; import springfox.documentation.RequestHandler; import springfox.documentation.builders.ApiInfoBuilder; import springfox.documentation.service.ApiInfo; import springfox.documentation.spi.DocumentationType; import springfox.documentation.spring.web.plugins.Docket; import springfox.documentation.swagger2.annotations.EnableSwagger2; @Configuration // 该注解就是告诉Spring这个是一个配置文件类,这里配置的Bean要交给Spring去管理。这个就是用来取代Beans.xml这种文件的。 @EnableSwagger2 // 启用 Swagger public class SwaggerConfig { @Bean public Docket createRestApi() { Predicate<RequestHandler> predicate = new Predicate<RequestHandler>() { @Override public boolean apply(RequestHandler input) { Class<?> declaringClass = input.declaringClass(); // if (declaringClass == BasicErrorController.class)// 排除 // return false; if (declaringClass.isAnnotationPresent(RestController.class)) // 被注解的类 return true; if (input.isAnnotatedWith(ResponseBody.class)) // 被注解的方法 return true; return false; } }; return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()) // .genericModelSubstitutes(DeferredResult.class) // .genericModelSubstitutes(ResponseEntity.class) .useDefaultResponseMessages(false) // .forCodeGeneration(false) .select().apis(predicate) // .paths(PathSelectors.any())//过滤的接口 .build(); } private ApiInfo apiInfo() { return new ApiInfoBuilder().title("接口服务")// 大标题 .version("1.0")// 版本 .build(); } }
. 3. Ajoutez le fichier de configuration
<?xml version="1.0" encoding="UTF-8"?> <beans:beans xmlns="http://www.springframework.org/schema/mvc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:beans="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> <!-- 这里省略了其他原来的配置内容 --> ...... ...... ...... ...... <mvc:default-servlet-handler /> </beans:beans>
4. Méthode du contrôleur de test
@Controller public class HomeController { @RequestMapping(value = "/test", method = RequestMethod.GET) @ResponseBody public String test(Locale locale, Model model) { return "test"; } }
5. Démarrez l'accès au service pour vérifier l'effet
Adresse d'accès : localhost:8188/. {Project contextPath}/swagger-ui.html
[Recommandations associées]
2.Analyse complète des annotations Java
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!