zoukankan      html  css  js  c++  java
  • springboot配置swagger2

    、在pom.xml里添加jar包:

    1. <dependency>  
    2.             <groupId>io.springfox</groupId>  
    3.             <artifactId>springfox-swagger-ui</artifactId>  
    4.             <version>${springfox.version}</version>  
    5.         </dependency>  
    6.         <dependency>  
    7.             <groupId>io.springfox</groupId>  
    8.             <artifactId>springfox-swagger2</artifactId>  
    9.             <version>${springfox.version}</version>  
    10.         </dependency>  


       在pom.xml里的properties里添加版本


    1. <properties>  
    2.     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>  
    3.     <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>  
    4.     <java.version>1.8</java.version>  
    5.     <springfox.version>2.5.0</springfox.version>  
    6. </properties>  


    2、在com/demo下创建swagger文件夹,创建SwaggerConfig文件

    1. package com.demo.swagger;  
    2.   
    3. import org.springframework.context.annotation.Bean;  
    4. import org.springframework.context.annotation.Configuration;  
    5. import springfox.documentation.builders.ApiInfoBuilder;  
    6. import springfox.documentation.builders.PathSelectors;  
    7. import springfox.documentation.builders.RequestHandlerSelectors;  
    8. import springfox.documentation.service.ApiInfo;  
    9. import springfox.documentation.spi.DocumentationType;  
    10. import springfox.documentation.spring.web.plugins.Docket;  
    11. import springfox.documentation.swagger2.annotations.EnableSwagger2;  
    12.   
    13. /** 
    14.  * Created by huguoju on 2016/12/29. 
    15.  */  
    16. @Configuration  
    17. @EnableSwagger2  
    18. public class SwaggerConfig {  
    19.     /** 
    20.      * 可以定义多个组,比如本类中定义把test和demo区分开了 (访问页面就可以看到效果了) 
    21.      * 
    22.      */  
    23.     @Bean  
    24.     public Docket testApi() {  
    25.         return new Docket(DocumentationType.SWAGGER_2)  
    26.                 .apiInfo(apiInfo())  
    27.                 .select()  
    28.                 .apis(RequestHandlerSelectors.basePackage("com.demo"))  
    29.                 .paths(PathSelectors.any()).build();  
    30.     }  
    31.   
    32.     private ApiInfo apiInfo() {  
    33.         return new ApiInfoBuilder()  
    34.                 .title("Spring Boot中使用Swagger2构建RESTful APIs")  
    35.                 .description("spring Boot 中构建RESTful API")  
    36.                 .termsOfServiceUrl("")  
    37.                 .contact("huguoju")  
    38.                 .version("1.0")  
    39.                 .build();  
    40.     }  
    41. }  


    以上就完成了,在页面访问localhost:8080/swagger-ui.html,就看见了,下面主要说说怎么用


    1、在com/dem/controller下创建TestController,


    1. package com.demo.controller;  
    2.   
    3. import com.demo.model.User;  
    4. import com.demo.service.TestService;  
    5. import io.swagger.annotations.Api;  
    6. import io.swagger.annotations.ApiOperation;  
    7. import io.swagger.annotations.ApiParam;  
    8. import org.springframework.beans.factory.annotation.Autowired;  
    9. import org.springframework.http.MediaType;  
    10. import org.springframework.stereotype.Controller;  
    11. import org.springframework.web.bind.annotation.RequestMapping;  
    12. import org.springframework.web.bind.annotation.RequestMethod;  
    13. import org.springframework.web.bind.annotation.RequestParam;  
    14.   
    15. /** 
    16.  * Created by huguoju on 2016/12/28. 
    17.  */  
    18. @Controller  
    19. @RequestMapping("test")  
    20. @Api(value = "测试类",tags = "测试接口")  
    21. public class TestController {  
    22.     @Autowired  
    23.     private TestService testService;  
    24.     @RequestMapping(value = "testData",produces = MediaType.APPLICATION_JSON_UTF8_VALUE,method = {RequestMethod.POST,RequestMethod.GET})  
    25.     @ApiOperation("测试读写分离")  
    26.     public String testDateSource(  
    27.             @ApiParam(name = "userCode",value = "用户id",required = true)  
    28.             @RequestParam Integer userCode){  
    29.         User user=testService.selectByUserCode(userCode);  
    30.         Integer integer=testService.insertUser(user);  
    31.         return "oo";  
    32.     }  
    33. }  



    以上就是controller里主要用到的@Api,  @ApiOperation ,@ApiParam


    在model里使用@ApiModelProperty("")

    •   
    • import com.fasterxml.jackson.annotation.JsonIdentityInfo;  
    • import io.swagger.annotations.ApiModel;  
    • import io.swagger.annotations.ApiModelProperty;  
    • import lombok.Data;  
    • import org.springframework.stereotype.Component;  
    •   
    • import java.util.Date;  
    • @Data  
    • public class User {  
    •     @ApiModelProperty("用户id")  
    •     private Integer userCode;  
    •     @ApiModelProperty("用户类型")  
    •     private String userType;  
    •     @ApiModelProperty("用户名称")  
    •     private String userName;  
    •     @ApiModelProperty("用户手机号")  
    •     private String mobileNumber;  
    • }  










  • 相关阅读:
    Tomcat启动过程[更详细]
    数据库连接池原理
    Druid
    Spring的注解积累
    React基础知识
    mac里git项目删除.DS_Store文件
    GET请求参数为中文时乱码分析
    npm中package.json详解
    前后端分离工具之ftl-server
    利用performance属性查看网页性能
  • 原文地址:https://www.cnblogs.com/xuyatao/p/7229712.html
Copyright © 2011-2022 走看看