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

  • 相关阅读:
    springMVC学习笔记五(拦截器详解)
    springMVC学习笔记六(注解方式实现控制器)
    springMVC学习笔记四(数据类型转换和数据验证)
    springMVC学习笔记二(dispatcherServlet)
    springMVC学习笔记三(controller控制器)
    springMVC学习笔记一(hello world)
    mybatis学习笔记四(与spring3集成)
    扩展欧几里得————《数论》
    2017 多校赛 第二场
    POJ 2566 尺取法(进阶题)
  • 原文地址:https://www.cnblogs.com/Naylor/p/13595008.html
Copyright © 2011-2022 走看看