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配置类

  • 相关阅读:
    Elasticsearch与kibana的单机安装
    PS 设计带斑点图案的背景
    中国传统纹样简略
    js 在非module中引用module里的变量和函数
    ssh 使用pem秘钥文件登录
    jquery sortable 使用注意事项
    ES6中的函数、对象定义
    file-loader返回object Module 路径的问题
    Louvain 论文笔记
    基于Docker方式的LNMP环境搭建
  • 原文地址:https://www.cnblogs.com/Naylor/p/13595008.html
Copyright © 2011-2022 走看看