zoukankan      html  css  js  c++  java
  • Spring Boot集成Swagger

    一、认识Swagger

    Swagger 是一个用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。文件的方法,参数和模型紧密集成到服务器端的代码,允许API来始终保持同步。

    二、项目中如何集成Swagger框架

    • 1:增加pom依赖
    
    <!-- springfox-swagger2 -->
    <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:配置
    
    @Configuration
    @EnableSwagger2
    public class Swagger2 {
    
    
        @Bean
        public Docket createRestApi() {
            return new Docket(DocumentationType.SWAGGER_2)
                    .apiInfo(apiInfo())
                    .select()
                    .apis(RequestHandlerSelectors.basePackage("com.naylor"))
                    .paths(PathSelectors.any())
                    .build();
        }
    
    
        private ApiInfo apiInfo() {
            return new ApiInfoBuilder()
                    .title("RESTful APIs in  User")
                    .description("User Doc With  Swagger2")
                    .termsOfServiceUrl("http://127.0.0.1:8080")
                    .contact("ChenMingliang")
                    .version("1.0")
                    .build();
        }
    }
    
    

    三、使用Swagger

    • 1:在Controller上增加Swagger相关注解
    
    package com.naylor.debrisapp.restcontrolleradvice.controller;
    
    import com.naylor.debrisapp.restcontrolleradvice.controller.param.GetUserDetailParam;
    import com.naylor.debrisapp.restcontrolleradvice.exception.BizServiceException;
    import io.swagger.annotations.Api;
    import io.swagger.annotations.ApiOperation;
    import lombok.extern.slf4j.Slf4j;
    import org.springframework.web.bind.annotation.*;
    
    import javax.validation.Valid;
    
    @Api(tags = "用户 api")
    @RestController
    @RequestMapping("/user")
    @Slf4j
    public class UserController {
    
        @ApiOperation("获取用户名称 - 根据用户id")
        @GetMapping("/{id}")
        public String getUserName(@PathVariable("id") Long id) {
            return "小明";
        }
    
    
    • 2:访问Swagger-UI

    TODO...

    • 3:使用Swagger-UI模仿接口调用

    TODO...

    四、生产环境中如何关闭swagger

    使用profile注解修饰swagger配置类

  • 相关阅读:
    【Python3】操作文件,目录和路径
    Python中的文件和目录操作实现
    【Python 2 到 3 系列】 此整型非彼整型
    【Python 2 到 3 系列】 print 是函数
    css网页中设置背景图片的方法详解
    (转)开源项目miaosha(下)
    (转)开源项目miaosha(上)
    (转)开源项目t-io
    (转)WebSocket学习
    缓存问题参考
  • 原文地址:https://www.cnblogs.com/Naylor/p/13595008.html
Copyright © 2011-2022 走看看