Spring项目中swagger用法与swagger-ui使用

目录
  • 一、swagger用法
    • 1.1、编写springboot项目
    • 1.2、导入spring-fox依赖
    • 1.3、添加注解
    • 1.4、访问swagger-ui
  • 二、swagger-ui使用

一、swagger用法

1.1、编写springboot项目

package com.xbmu.controller;

import com.xbmu.bean.Person;
import org.springframework.web.bind.annotation.*;

import java.util.ArrayList;
import java.util.List;

@RestController
@RequestMapping(value = "/person")
public class PersonController {
    @PostMapping("/postReq")
    public String postReq()
    {
        return "postReq";
    }
    @GetMapping("/getReq")
    public String getReq(String param1,String param2)
    {
        return "getReq";
    }
    @RequestMapping("/req")
    public String req(String param1)
    {
        return "req";
    }

    @RequestMapping(value = "/getPersonSingle",method = RequestMethod.GET)
    private Person getPersonSingle(Integer id){
        Person person;
        List<Person> personList = new ArrayList<>();
        for (int i = 0; i < 10; i++) {
            person = new Person();
            person.setId(i+1);
            person.setName("zhangsan"+(i+1));
            person.setGender("男"+i);
            person.setAge(18+1);
            person.setAddress("shanxi xian");
            personList.add(person);
        }
        person = personList.get(id);
        return person;
    }
}

1.2、导入spring-fox依赖

在项目pom.xml中导入spring-fox依赖,该项目选择版本为2.9.2。其中springfox-swagger2是核心内容的封装。springfox-swagger-ui是对swagger-ui的封装。

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.xbmu</groupId>
    <artifactId>swagger-study</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
    </properties>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>2.2.5.RELEASE</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <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>
    </dependencies>

</project>

1.3、添加注解

在springboot的启动类中添加 @EnableSwagger2 注解。
添加此注解后表示对当前项目中全部控制器进行扫描。应用swagger2。

package com.xbmu;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
/**
 * EnableSwagger2 是springfox提供的一个注解,代表swagger2相关技术开启。
 * 会扫描当前类所在包,及子包中所有的类型中的注解。
 */
@SpringBootApplication
@EnableSwagger2
public class MyApp {
    public static void main(String[] args) {
        SpringApplication.run(MyApp.class,args);
    }
}

1.4、访问swagger-ui

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

二、swagger-ui使用

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

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

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

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

以上就是Spring项目中swagger用法与swagger-ui使用的详细内容,更多关于swagger用法与swagger-ui使用的资料请关注我们其它相关文章!

(0)

相关推荐

  • SpringBoot集成swagger-ui以及swagger分组显示操作

    大家好,这篇文章展示下如何在springboot项目中集成swagger-ui.有人说,这都是老生常谈,网上的例子数不胜数.确实swagger诞生至今已经很久了,但是在使用过程中我遇到一个问题,下面给大家分享下我的使用心得吧. 1.swagger配置类 第一步,需要在pom中引入相应的配置,这里使用2.7.0的版本.需要注意的是2.7.0和2.8.0的版本在界面风格上差异很大,如果感兴趣,可以试试2.8.0以上的版本,我比较青睐使用2.7.0及以下的版本,因为界面比较清爽. 第一步 引入pom

  • Spring Boot引入swagger-ui 后swagger-ui.html无法访问404的问题

    最近给graphserver增加swagger,记录下过程与问题解决. Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 Web 服务,后端集成下Swagger,然后就可以提供一个在线文档地址给前端同学. 引入 Swagger pom中加入相关配置: <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</art

  • spring boot 2整合swagger-ui过程解析

    这篇文章主要介绍了spring boot 2整合swagger-ui过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.添加mvn依赖 修改pom.xml加入 <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.5.0</v

  • SpringBoot+Swagger-ui自动生成API文档

    随着互联网技术的发展,现在的网站架构基本都由原来的后端渲染,变成了:前端渲染.先后端分离的形态,而且前端技术和后端技术在各自的道路上越走越远. 这样后段开发好了api 之后就要提交api 文档给前端的朋友.给前端的api 文档各个公司有各个公司的要求,有的是word 有的是 md 文档,或者是 postman 的一个连接. 好了废话不多说说一下 swagger -ui 吧 什么是Swagger Swagger是一个Restful风格接口的文档在线自动生成和测试的框架 官网:http://swag

  • springboot使用swagger-ui 2.10.5 有关版本更新带来的问题小结

    问题1 常见问题 1.需要传入后台的为string类型 但是使用swagger-ui 接口进行测试的时候,输入的为数字类型,建议对pom.xml文件进行调整 <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>${swagger.version}</version> </de

  • Spring项目中swagger用法与swagger-ui使用

    目录 一.swagger用法 1.1.编写springboot项目 1.2.导入spring-fox依赖 1.3.添加注解 1.4.访问swagger-ui 二.swagger-ui使用 一.swagger用法 1.1.编写springboot项目 package com.xbmu.controller; import com.xbmu.bean.Person; import org.springframework.web.bind.annotation.*; import java.util.

  • 详解Spring Boot中Controller用法

    Controller Controller是SpringBoot里最基本的组件,他的作用是把用户提交来的请求通过对URL的匹配,分配个不同的接收器,再进行处理,然后向用户返回结果.他的重点就在于如何从HTTP请求中获得信息,提取参数,并分发给不同的处理服务. 基本组成 一个最经典的Controller应该大概长这样: package com.example.demo.controller; import org.springframework.stereotype.Controller; imp

  • 在vue项目中引入高德地图及其UI组件的方法

    引入高德地图: 打开index.html,引用高德地图的JavaScript API: <script type="text/javascript" src="http://webapi.amap.com/maps?v=1.3&key=你的API key"></script> 在"key="这里添加你申请的key,key不需要加引号. 引入高德地图UI组件,只需要在上面代码后面再加一串代码: <script

  • Spring项目中使用Cache Redis实现数据缓存

    目录 Spring项目中实现数据缓存 一.Spring Cache + Redis 介绍 二.项目中集成 1. 引入依赖 2. 添加 redis 配置类 3. 配置文件增加 redis 配置 4. 启动安装好的 redis 三.Spring Cache 常用注解介绍 1. @Cacheable 2. @CachePut 3. @CacheEvict 四.功能里实现缓存操作 查询操作 导入操作 Spring项目中实现数据缓存 有时候我们为了提高查询速度,会使用缓存,但是并不是所有数据都适合放到缓存

  • Spring项目中使用Junit单元测试并配置数据源的操作

    目录 Spring 使用Junit单元测试并配置数据源 一.问题描述 二.解决方案 Spring 数据库依赖 单元测试的一点想法 一点想法: 这里面有这样一些问题: Spring 使用Junit单元测试并配置数据源 一.问题描述 由于公司项目中的数据源是配置在Tomcat中的server.xml中的,所以在使用Junit进行单元测试的时候,无法获取数据源. 二.解决方案 由于项目集成了Spring的自动注入等功能,所以在使用Junit进行单元测试的时候需要保证Spring的配置文件都能被加载,同

  • spring项目中切面及AOP的使用方法

    使用AOP的原因(AOP简介) 我们知道,spring两大核心,IOC(控制反转)和AOP(切面),那为什么要使用AOP,AOP是什么呢,严格来说,AOP是一种编程规范,是一种编程思想,并非spring创造,AOP可以帮助我们在一定程度上从冗余的通用的业务逻辑中解脱出来,最明显的,比如每个接口的请求,都要记录日志,那这个操作如果每个地方都写,就会很繁琐,当然,记录日志并不是唯一的用法 spring的AOP只能基于IOC来管理,它只能作用于spring容器的bean 并且,spring的AOP为的

  • 解决springmvc项目中使用过滤器来解决请求方式为post时出现乱码的问题

    在spring项目中,当请求方式为post时,可能在获取数据之后会有乱码的情况,其中一种解决方法就是在拿到请求参数之前设置编码格式为utf-8,如下 request.setCharacterEncoding("utf-8"); String strId = request.getParameter("id"); String strName = request.getParameter("name"); String strSex = reque

  • Spring框架中@PostConstruct注解详解

    目录 初始化方式一:@PostConstruct注解 初始化方式二:实现InitializingBean接口 补充:@PostConstruct注释规则 总结 初始化方式一:@PostConstruct注解 假设类UserController有个成员变量UserService被@Autowired修饰,那么UserService的注入是在UserController的构造方法之后执行的. 如果想在UserController对象生成时候完成某些初始化操作,而偏偏这些初始化操作又依赖于依赖注入的对

  • 在SpringBoot项目中的使用Swagger的方法示例

    一. 首先Swagger是什么? Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 Web 服务.总体目标是使客户端和文件系统作为服务器以同样的速度来更新.文件的方法,参数和模型紧密集成到服务器端的代码,允许API来始终保持同步.Swagger官方API文档:https://swagger.io/ 作用:   1. 接口的文档在线自动生成.   2. 功能测试. Swagger的主见介绍:    Swagger Codegen: 通过Codegen 可

  • Spring Boot中如何使用Swagger详解

    目录 Swagger 简介 配置 Swagger 添加依赖 为项目开启 Swagger 创建 SwaggerConfig 配置类 访问 Swagger 前端页面 控制器相关注解 实体相关注解 总结 Swagger 简介 Swagger 是一个方便 API 开发的框架,它有以下优点: 自动生成在线文档,后端开发人员的改动可以立即反映到在线文档,并且不用单独编写接口文档,减轻了开发负担 支持通过 Swagger 页面直接调试接口,方便前端开发人员进行测试 配置 Swagger Swagger 目前有

随机推荐