SpringBoot2 集成swagger2.9.2 - Go语言中文社区

SpringBoot2 集成swagger2.9.2


POM.XML

      <!--swagger-->
        <!-- 文档自动生成 -->
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.9.2</version>
            <exclusions>
                <!--有bug,移除swagger-annotations和swagger-models,重新依赖其他版本-->
                <exclusion>
                    <groupId>io.swagger</groupId>
                    <artifactId>swagger-annotations</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>io.swagger</groupId>
                    <artifactId>swagger-models</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <!--替换swagger-annotations和swagger-models-->
        <dependency>
            <groupId>io.swagger</groupId>
            <artifactId>swagger-annotations</artifactId>
            <version>1.5.21</version>
        </dependency>
        <dependency>
            <groupId>io.swagger</groupId>
            <artifactId>swagger-models</artifactId>
            <version>1.5.21</version>
        </dependency>

        <dependency>
            <groupId>com.github.xiaoymin</groupId>
            <artifactId>swagger-bootstrap-ui</artifactId>
            <version>1.9.4</version>
        </dependency>

配置类:

SwaggerConfig.java

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;
@Configuration
@EnableSwagger2
@EnableSwaggerBootstrapUI
public class SwaggerConfig {
    @Value("${swagger.show}")
    boolean swaggerShow;
    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2)
            //正式服务器设置为false
            .enable(swaggerShow)
            .apiInfo(apiInfo())
            .select()
            .apis(RequestHandlerSelectors.basePackage("配置类的全路径"))
            .paths(PathSelectors.any())
            .build();
    }

    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
            .title("Spring Boot中使用Swagger2构建RESTful API")
            .description("rest api 文档构建利器")

            .contact(new Contact("Tencent", "http://www.baidu.com", ""))
            .version("1.0")
            .build();
    }

}

mdel:


import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.annotations.GenericGenerator;
import org.springframework.format.annotation.DateTimeFormat;

import javax.persistence.*;
import java.io.Serializable;
import java.util.Date;

@Data
@Entity
@GenericGenerator(name = "uuid", strategy = "uuid")
@Table(name = "test")
public class Test implements Serializable {
    @Id
    @GeneratedValue(generator = "uuid")
    @Column(length = 32)
    @ApiModelProperty(value = "id")
    private String id;

    @ApiModelProperty(value = "参数说明",required = true)
    private String name;

    @ApiModelProperty( example = "2019-09-04 12:11:11", dataType = "Date", value = "参数说明")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

}

TestController.java

@Api(value = "API test")
public class TestControlller {

    @PostMapping(value = "register")
    @ApiOperation(value = "测试")
    public ResponseT register(@ApiParam(name = "taskInfoStr", value = "测试实体") @RequestBody String taskInfoStr) {
        logger.info(taskInfoStr);
        TaskInfo taskInfo = JSON.parseObject(taskInfoStr, TaskInfo.class);
        taskInfo.setId(UUID.randomUUID().toString());
        logger.info(taskInfo.toString());
        taskInfoService.save(taskInfo);
       

        return ResponseT.status(200).msg("测试");
    }

    @PostMapping("test1111")
    @ApiOperation(value = "测试1111111")
    @ApiImplicitParams({@ApiImplicitParam(name = "userId", value = "统一用户id", required = true),
        @ApiImplicitParam(name = "taskName", value = "任务名称"),
        @ApiImplicitParam(name = "taskCode", value = "任务编号"),
        @ApiImplicitParam(name = "startTime", value = "发送起始时间"),
        @ApiImplicitParam(name = "endTime", value = "发送结束时间"),
        @ApiImplicitParam(name = "pageNumber", value = "当前页", required = true),
        @ApiImplicitParam(name = "pageSize", value = "每页获取记录数", required = true)})
    public ResponseT getNotSignUnitTaskList(@RequestParam String userId,
                                            @RequestParam(required = false) String taskName,
                                            @RequestParam(required = false) String taskCode,
                                            @RequestParam(required = false) String startTime,
                                            @RequestParam(required = false) String endTime,
                                            @RequestParam String pageNumber,
                                            @RequestParam String pageSize) {

        JSONObject params = new JSONObject();
        params.put("user_id", userId);
        params.put("task_name", taskName);


    }

}

启动项目后打开 http://localhost:port/doc.html

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/qq_32811865/article/details/98653189
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-03-01 22:46:53
  • 阅读 ( 843 )
  • 分类:

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢