SpringBoot+Swagger详细使用方法

这篇具有很好参考价值的文章主要介绍了SpringBoot+Swagger详细使用方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、接口文档概述

swagger是当下比较流行的实时接口文文档生成工具。接口文档是当前前后端分离项目中必不可少的工具,在前后端开发之前,后端要先出接口文档,前端根据接口文档来进行项目的开发,双方开发结束后在进行联调测试。

二、常用注解

- @Api()用于类;(controller) 
表示标识这个类是swagger的资源
- @ApiOperation()用于方法; 
表示一个http请求的操作 
- @ApiParam()用于方法,参数,字段说明; 
表示对参数的添加元数据(说明或是否必填等) 
- @ApiModel()用于类 主要是用于接受对象的信息
表示对类进行说明,用于参数用实体类接收 
- @ApiModelProperty()用于方法,字段 
表示对model属性的说明或者数据操作更改 
- @ApiIgnore()用于类,方法,方法参数 
表示这个方法或者类被忽略 
- @ApiImplicitParam() 用于方法 
表示单独的请求参数 
- @ApiImplicitParams() 用于方法,包含多个 @ApiImplicitParam
-@ApiResponse() 用于方法
对返回响应头的说明
-@ApiResponses用于方法,包含多个@ApiResponse

三 、pom依赖

1、在pom.xml文件中添加swagger相关依赖

		<dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.7.0</version>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>2.7.0</version>
        </dependency>

第一个是API获取的包,第二是官方给出的一个ui界面。这个界面可以自定义,默认是官方的,对于安全问题,以及ui路由设置需要着重思考。

package com.aaa.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;


@Configuration
@EnableSwagger2
public class Swagger2 {


    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.aaa.controller"))
                .paths(PathSelectors.any())
                .build();
    }


    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("服务:发布为daocke镜像,权限管理,用户管理,页面管理,日志 后台 APIs")
                .description("服务:发布为daocke镜像,权限管理,用户管理,页面管理,日志 后台")
                .termsOfServiceUrl("http://192.168.1.198:10070/platformgroup/ms-admin") //代码的路径
                .contact("小宇")
                .version("1.0")
                .build();
    }


}

springboot版本比较高的时候可能会和swagger出现版本不兼容的问题想要解决这个问题可以在
application文件中加上:

spring.mvc.pathmatch.matching-strategy=ant_path_matcher

四、在controller中的使用

主要用于在API上做一些声明

package com.aniu.test1.controller;


import com.aniu.test1.entity.User;
import io.swagger.annotations.*;
import org.springframework.web.bind.annotation.*;


@Api(tags = "用户管理")
@RestController
public class UserController {


    @ApiOperation("添加用户")
    @PostMapping("/add")
    public User add(@ApiParam("用户") User user){
        return new User();
    }


    @ApiOperation("修改用户")
    @PostMapping("/update")
    public String update() {
        return "修改";
    }


    @ApiOperation("删除用户")
    @GetMapping("/delete")
    public boolean delete(@ApiParam("用户编号") Integer id) {
        return true;
    }


    @ApiOperation("查询用户")
    @GetMapping("/query")
    @ApiResponses(value = { @ApiResponse(code = 1000, message = "成功"), @ApiResponse(code = 1001, message = "失败"),
            @ApiResponse(code = 1002,message = "缺少参数") })
    @ApiImplicitParams({
            @ApiImplicitParam(name = "name", value = "电影名", dataType = "String", paramType = "query", required = true),})
    public User query(@RequestParam String name) {
        User user = new User();
        user.setUserName("name");
        user.setPassword("password");
        return  user;
    }
}

访问路径:http://localhost:8080/swagger-ui.html

五、使用bootstrap的ui

现已更名knife4j
https://doc.xiaominfo.com/docs/action/springboot

<dependency>
      <groupId>io.springfox</groupId>
      <artifactId>springfox-swagger2</artifactId>
      <version>2.7.0</version>
  </dependency>
  
<dependency>
    <groupId>com.github.xiaoymin</groupId>
    <artifactId>swagger-bootstrap-ui</artifactId>
    <version>1.9.6</version>
</dependency>

输入http://localhost:项目端口号/doc.html文章来源地址https://www.toymoban.com/news/detail-745033.html

到了这里,关于SpringBoot+Swagger详细使用方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Java开发分析工具 JProfiler的详细使用方法解析(附 JProfiler for Mac许可证秘钥)

    JProfiler   是一款功能强大的Java代码分析工具,JProfiler的直观UI可帮助您解决性能瓶颈,确定内存泄漏并了解线程问题且JProfiler   Mac破解版配置会话非常简单,第三方集成使得入门变得轻而易举,并且以自然的方式呈现数据分析。   当无法建立分析会话时,首先要做的是查

    2024年01月23日
    浏览(55)
  • JAVA深化篇_29—— 线程使用之线程联合以及Thread类中的其他常用方法【附有详细说明及代码案例】

    线程联合 当前线程邀请调用方法的线程优先执行,在调用方法的线程执行结束之前,当前线程不能再次执行。线程A在运行期间,可以调用线程B的join()方法,让线程B和线程A联合。这样,线程A就必须等待线程B执行完毕后,才能继续执行。 join方法的使用 join()方法就是指调用该

    2024年02月05日
    浏览(44)
  • springboot 集成 Swagger2 配置以及常用注解的说明和使用 ( 超详细)

    一、注解的使用 和 说明 结构化说明如下: @Api:用在请求的类上,表示对类的说明      tags=\\\"说明该类的作用,可以在UI界面上看到的注解\\\"    (也就是给类取别名)     value=\\\"该参数没什么意义,在UI界面上也看到,所以不需要配置\\\"    @ApiOperation:用在请求的方法上,说

    2024年02月03日
    浏览(44)
  • 【Spring框架】Spring事务的介绍与使用方法

    ⚠️ 再提醒一次:Spring 本身并不实现事务,Spring事务 的本质还是底层数据库对事务的支持。你的程序是否支持事务首先取决于数据库 ,比如使用 MySQL 的话,如果你选择的是 innodb 引擎,那么恭喜你,是可以支持事务的。但是,如果你的 MySQL 数据库使用的是 myisam 引擎的话,

    2024年02月11日
    浏览(42)
  • C# 使用 RabbitMQ 的详细使用方法

    C# 使用 RabbitMQ 的详细使用方法) RabbitMQ 是一个功能强大的消息队列系统,可用于在分布式系统中进行可靠的消息传递。本篇博客将详细介绍如何在 C# 中使用 RabbitMQ 实现各种消息队列操作,包括连接 RabbitMQ 服务器、创建通道、声明队列、发布消息以及消费消息等。 RabbitMQ 是一

    2024年04月25日
    浏览(36)
  • SQLMAP工具 详细使用方法

    官方网址 GitHub地址 使用手册 SQLMAP 是一个开源的渗透测试工具,可以用来自动化的检测,利用 SQL 注入漏 洞,获取数据库服务器的权限。它具有功能强大的检测引擎,针对各种不同类型数据 库的渗透测试的功能选项,包括获取数据库中存储的数据,访问操作系统文件甚至可

    2024年02月11日
    浏览(46)
  • Spring+MyBatis使用collection标签的两种使用方法

    目录 项目场景: 实战操作: 1.创建菜单表 2.创建实体  3.创建Mapper 4.创建xml  属性描述: 效率比较: 本文说明了Spring Boot+MyBatis使用collection标签的两种使用方法 1. 方法一: 关联查询 2. 方法二: 嵌套select查询 这里只创建一张表,树结构只有两级,方便学习,多表关联是同样的

    2024年02月09日
    浏览(59)
  • BertTokenizer的使用方法(超详细)

    导入 以上两行代码都可以导入BerBertTokenizer,transformers是当下比较成熟的库,pytorch_pretrained是google提供的源码(功能不如transformers全面) 加载 数据 首先定义一些数据: tokenize 将句子拆分为token,并不映射为对应的id convert_tokens_to_ids 将token映射为其对应的id(ids是我们训练中真正会

    2024年01月16日
    浏览(34)
  • Python:列表的详细使用方法

    本篇文章将对列表的使用方法进行详尽说明(本人第一次写文章,若有不当之处,还请指正) 开发环境:Python3.8 1.1、列表的两种表示方法:  列表里可以存储不同的数据类型 1.2、生成各个各样的列表 运行结果:   1.3、查询列表中的元素(索引、切片): 索引: 运行结果:

    2023年04月09日
    浏览(58)
  • Spring Cache的介绍以及使用方法、常用注解

    Spring Cache是一个框架,实现了基于注解的缓存功能,只需要简单地加一个注解,就能实现缓存功能. Spring Cache提供了一层抽象,底层可以切换不同的cache实现。具体就是通过CacheManager接口来统一不同的缓存技术。 CacheManager是Spring提供的各种缓存技术抽象接口。 针对不同的缓存

    2024年02月16日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包