Spring Boot集成Swagger

集成Swagger有两种:@EnableSwagger2 与 @EnableSwagger2Doc

一、 @EnableSwagger2

  1. 添加依赖pom.xml:

            <dependency>
                <groupId>io.springfox</groupId>
                <artifactId>springfox-swagger2</artifactId>
                <version>2.5.0</version>
            </dependency>
            <!-- swagger-ui -->
            <dependency>
                <groupId>io.springfox</groupId>
                <artifactId>springfox-swagger-ui</artifactId>
                <version>2.5.0</version>
            </dependency>
    
  2. Application添加注解@EnableSwagger2,同时要注意添加@SpringBootApplication的包扫描路径

    package com.example.demo;
    
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    import springfox.documentation.swagger2.annotations.EnableSwagger2;
    
    @SpringBootApplication(scanBasePackages = "com.example")
    @EnableSwagger2
    public class DemoApplication {
    
        public static void main(String[] args) {
            SpringApplication.run(DemoApplication.class, args);
        }
    
    }
    
  3. 编写Controller,为接口增加@Api 与 @ApiOperation 注解

    package com.example.demo.api.controller;
    
    import com.example.demo.domain.entity.Demo;
    import com.example.demo.infra.mapper.DemoMapper;
    import io.swagger.annotations.Api;
    import io.swagger.annotations.ApiOperation;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.http.HttpStatus;
    import org.springframework.http.ResponseEntity;
    import org.springframework.web.bind.annotation.*;
    
    import java.util.ArrayList;
    import java.util.List;
    
    @RestController
    @RequestMapping({"/demo"})
    @Api(tags = {"模板接口"})
    public class DemoController {
    
        private final DemoMapper demoMapper;
    
        @Autowired
        public DemoController(DemoMapper demoMapper) {
            this.demoMapper = demoMapper;
        }
    
        @GetMapping
        @ApiOperation(value = "批量查询接口", notes = "批量查询Demo")
        public ResponseEntity<List<Demo>> query(Demo demo) {
            List<Demo> demoList = new ArrayList<>();
            demoList.add(demo);
            return new ResponseEntity<>(demoList, HttpStatus.OK);
        }
    
        @PostMapping
        @ApiOperation(value = "新增接口", notes = "新增Demo")
        public ResponseEntity<Demo> insert(@RequestBody Demo demo) {
            demoMapper.insertDemo(demo);
            return new ResponseEntity<>(demo, HttpStatus.OK);
        }
    
    }
    
  4. 完成以上配置之后,启动项目,打开http://localhost:8080/swagger-ui.html

在这里插入图片描述

二、@EnableSwagger2Doc

  1. 添加依赖pom.xml:

            <dependency>
                <groupId>com.spring4all</groupId>
                <artifactId>swagger-spring-boot-starter</artifactId>
                <version>1.8.0.RELEASE</version>
            </dependency>
    
  2. Application添加注解@EnableSwagger2Doc,同时要注意添加@SpringBootApplication的包扫描路径

    package com.example.demo;
    
    import com.spring4all.swagger.EnableSwagger2Doc;
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    
    @SpringBootApplication(scanBasePackages = "com.example")
    @EnableSwagger2Doc
    public class DemoApplication {
    
        public static void main(String[] args) {
            SpringApplication.run(DemoApplication.class, args);
        }
    
    }
    
  3. 在application.yml添加配置(可选):

    swagger:
      title: DEMO API
      description: this is my swagger
      version: 1.1
      base-package: com.example
    
  4. 编写Controller,为接口增加@Api 与 @ApiOperation 注解

    package com.example.demo.api.controller;
    
    import com.example.demo.domain.entity.Demo;
    import com.example.demo.infra.mapper.DemoMapper;
    import io.swagger.annotations.Api;
    import io.swagger.annotations.ApiOperation;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.http.HttpStatus;
    import org.springframework.http.ResponseEntity;
    import org.springframework.web.bind.annotation.*;
    
    import java.util.ArrayList;
    import java.util.List;
    
    @RestController
    @RequestMapping({"/demo"})
    @Api(tags = {"模板接口"})
    public class DemoController {
    
        private final DemoMapper demoMapper;
    
        @Autowired
        public DemoController(DemoMapper demoMapper) {
            this.demoMapper = demoMapper;
        }
    
        @GetMapping
        @ApiOperation(value = "批量查询接口", notes = "批量查询Demo")
        public ResponseEntity<List<Demo>> query(Demo demo) {
            List<Demo> demoList = new ArrayList<>();
            demoList.add(demo);
            return new ResponseEntity<>(demoList, HttpStatus.OK);
        }
    
        @PostMapping
        @ApiOperation(value = "新增接口", notes = "新增Demo")
        public ResponseEntity<Demo> insert(@RequestBody Demo demo) {
            demoMapper.insertDemo(demo);
            return new ResponseEntity<>(demo, HttpStatus.OK);
        }
    
    }
    
  5. 完成以上配置之后,启动项目,打开http://localhost:8080/swagger-ui.html

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值