• Swagger(3):Swagger入门案例


    1 编写SpringBoot项目

    新建一个Rest请求控制器。

    1. package com.example.demo.controller;
    2. import org.springframework.web.bind.annotation.GetMapping;
    3. import org.springframework.web.bind.annotation.PostMapping;
    4. import org.springframework.web.bind.annotation.RequestMapping;
    5. import org.springframework.web.bind.annotation.RestController;
    6. @RestController
    7. public class MyController {
    8. @PostMapping("/post")
    9. public String post(){
    10. return "post";
    11. }
    12. @GetMapping("/get")
    13. public String get(String a,String b){
    14. return "get";
    15. }
    16. @RequestMapping("/req")
    17. public String req(String m){
    18. return "req";
    19. }
    20. }

    2 导入Spring-fox依赖

    在项目的pom.xml中导入Spring-fox依赖。目前最新版本为2.9.2,所以导入的依赖也是这个版本。其中springfox-swagger2是核心内容的封装。springfox-swagger-ui是对swagger-ui的封装。

    1. <?xml version="1.0" encoding="UTF-8"?>
    2. <project xmlns="http://maven.apache.org/POM/4.0.0"
    3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    4. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    5. <modelVersion>4.0.0</modelVersion>
    6. <groupId>org.example</groupId>
    7. <artifactId>swaggerDemo</artifactId>
    8. <version>1.0-SNAPSHOT</version>
    9. <dependencyManagement>
    10. <dependencies>
    11. <dependency>
    12. <groupId>org.springframework.boot</groupId>
    13. <artifactId>spring-boot-dependencies</artifactId>
    14. <version>2.2.5.RELEASE</version>
    15. <type>pom</type>
    16. <scope>import</scope>
    17. </dependency>
    18. </dependencies>
    19. </dependencyManagement>
    20. <dependencies>
    21. <dependency>
    22. <groupId>org.springframework.boot</groupId>
    23. <artifactId>spring-boot-starter-web</artifactId>
    24. </dependency>
    25. <dependency>
    26. <groupId>io.springfox</groupId>
    27. <artifactId>springfox-swagger2</artifactId>
    28. <version>2.9.2</version>
    29. </dependency>
    30. <dependency>
    31. <groupId>io.springfox</groupId>
    32. <artifactId>springfox-swagger-ui</artifactId>
    33. <version>2.9.2</version>
    34. </dependency>
    35. </dependencies>
    36. </project>

    3 添加注解

    在SpringBoot的启动类中添加@EnableSwagger2注解。

    添加此注解后表示对当前项目中全部控制器进行扫描。应用Swagger2

    1. package com.example.demo;
    2. import org.springframework.boot.SpringApplication;
    3. import org.springframework.boot.autoconfigure.SpringBootApplication;
    4. import springfox.documentation.swagger2.annotations.EnableSwagger2;
    5. @SpringBootApplication
    6. @EnableSwagger2
    7. public class MyApp {
    8. public static void main(String[] args) {
    9. SpringApplication.run(MyApp.class);
    10. }
    11. }

    4 访问swagger-ui

    启动项目后在浏览器中输入http://ip:8080/swagger-ui.html即可以访问到swagger-ui页面,在页面中可以可视化的进行操作项目中所有接口。

    5 swagger-ui

    访问swagger-ui.html后可以在页面中看到所有需要生成接口文档的控制器名称。

    每个控制器中间包含多所有控制器方法的各种访问方式。如果使用的是@RequestMapping进行映射,将显示下面的所有请求方式。如果使用@PostMapping将只有Post方式可以能访问,下面也就只显示Post的一个。

    点击某个请求方式中try it out

    会出现界面要求输入的值。输入完成后点击Execute按钮

    下面会出现Request URL以及不同状态码响应回来的结果。

  • 相关阅读:
    Java的文件操作
    Prometheus+Grafana 部署
    微信小程序-页面导航-导航传参
    【C语言刷LeetCode】438. 找到字符串中所有字母异位词(M)
    C++实现排序 - 03 计数排序、桶排序和基数排序
    数学建模学习(73):用Python敏感性分析,如此轻松简单
    使用 strace、tcpdump、nlmon、wireshark 探索 ethtool netlink 框架的原理
    IPV4地址、VLSM以及CIDR
    【全志T113-S3_100ask】12-1 Linux蓝牙通信实战(BLE简介)
    Redis系列:Redis的数据结构
  • 原文地址:https://blog.csdn.net/u013938578/article/details/134481241