Swagger est un service Web utilisé pour générer, décrire et appeler des interfaces RESTful. En termes simples, Swagger est un service qui affiche toutes les interfaces du projet (que vous souhaitez exposer) sur la page et permet d'appeler et de tester des interfaces.
Swagger a les trois fonctions importantes suivantes : afficher toutes les interfaces du projet sur la page, afin que les programmeurs back-end n'aient pas besoin d'écrire des documents d'interface spéciaux pour les utilisateurs front-end lorsque l'interface est mise à jour, il leur suffit de le faire ; modifier le code La description Swagger dans peut générer de nouveaux documents d'interface en temps réel, évitant ainsi le problème des anciens documents d'interface qui ne peuvent pas être utilisés via la page Swagger, nous pouvons appeler directement l'interface pour faciliter notre développement ;
1) Dépend de
<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.9.2</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.9.2</version> </dependency>
2) Créer une classe de contrôleur
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class TestController { @PostMapping("/hello") public String hello(String str){ return "hello,"+str; } }
3) Créer une classe de configuration Swagger Classe SwaggerConfig
@Configuration @EnableSwagger2//开始Swagger2 public class SwaggerConfig { //配置了Swagger 的Docket的bean实例 @Bean public Docket docket(){ ParameterBuilder ticketPar = new ParameterBuilder(); List<Parameter> pars = new ArrayList<>(); ticketPar.name("Authorization").description("token")//Token 以及Authorization 为自定义的参数,session保存的名字是哪个就可以写成那个 .modelRef(new ModelRef("string")).parameterType("header") .required(false).build(); //header中的ticket参数非必填,传空也可以 pars.add(ticketPar.build()); //根据每个方法名也知道当前方法在设置什么参数 return new Docket(DocumentationType.SPRING_WEB) .apiInfo(apiInfo()) .select() //RequestHandlerSelectors, 配置要扫描接口的方式 //basePackage:指定要扫描的包 //any():扫描全部 //withClassAnnotation: 扫描类上的注解 //withMethodAnnotation: 扫描方法上的注解 .apis(RequestHandlerSelectors.basePackage("com.example.swagger.controller")) .build() .globalOperationParameters(pars); } //配置Swagger 信息=apiInfo private ApiInfo apiInfo(){ return new ApiInfo( "Logistics Api",//文檔命名 "test",//文檔描述 "v1.0",// "http:127.0.0.1/", null,//contact "Apache 2.0", "http://www.apache.org/licenses/LICENSE-2.0", new ArrayList() ); } }
Attention !
Attention !
Attention !
Écrivez le chemin
"com.example.swagger.controller" dans apis(RequestHandlerSelectors.basePackage("com.example.swagger.controller")) comme chemin de votre propre package de contrôleur
Après avoir terminé les étapes ci-dessus, cliquez sur Exécuter. Après l'exécution, visitez l'URL suivante dans le navigateur :
http://127.0.0.1:8080/swagger-. ui.html#/
Le port ici doit être remplacé par votre propre port.
L'effet est comme indiqué sur l'image
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!