iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >教你利用springboot集成swagger并生成接口文档
  • 692
分享到

教你利用springboot集成swagger并生成接口文档

2024-04-02 19:04:59 692人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

效果图 实现步骤 1.Maven中引入jar包,不同版本的swagger可能页面效果不一样。 <dependency> <groupI

效果图

实现步骤

1.Maven中引入jar包,不同版本的swagger可能页面效果不一样。


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

2.启动类加上@EnableSwagger2注解,并在同路径下创建全局配置类。


import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.WEB.bind.annotation.RequestMethod;
import springfox.documentation.builders.apiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.builders.ResponseMessageBuilder;
import springfox.documentation.schema.ModelRef;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.ResponseMessage;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
 
import java.util.ArrayList;
import java.util.List;
 
@Configuration
public class Swagger2Config {
 
 
    @Bean
    public Docket createRestApi() {
        //这块是定义全局返回码
        List<ResponseMessage> responseMessageList = new ArrayList<>();
        responseMessageList.add(new ResponseMessageBuilder().code(404).message("找不到资源").build());
        responseMessageList.add(new ResponseMessageBuilder().code(409).message("业务逻辑异常").build());
        responseMessageList.add(new ResponseMessageBuilder().code(400).message("网络协议错误").build());
        responseMessageList.add(new ResponseMessageBuilder().code(500).message("服务器内部错误--->Exception").build());
        responseMessageList.add(new ResponseMessageBuilder().code(502).message("Nginx异常").build());
        return new Docket(DocumentationType.SWAGGER_2).globalResponseMessage(RequestMethod.GET, responseMessageList)
                .globalResponseMessage(RequestMethod.POST, responseMessageList)
                .globalResponseMessage(RequestMethod.PUT, responseMessageList)
                .globalResponseMessage(RequestMethod.DELETE, responseMessageList)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("order.controller"))//包的根路径
                .paths(PathSelectors.any())
                .build();
    }
 
    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("ORDER-PROVIDER")//接口文档标题设置
                .description("API接口列表")//描述
                .version("1.0")//版本号
                .build();
    }
}

3.在相应的controller层写对应注解。一般来说接口文档关注的几点,网络协议,接口入参,接口出参,方法类型。拿一个conteller举例。分几步:

(1)对整个controller类加上@Api注解标识为一个swagger管理的类。

(2)方法修饰,加上@ApiOperation对方法进行说明。主要参数如图

(3)入参修饰。使用@ApiImplicitParams和@ApiImplicitParam一起封装。如果入参参数含有实体对象,其中@ApiImplicitParam的name属性就定义为类的类型,这样才能展示。如果为基本类型,name即为属性名称。

 (4)出参修饰。可以使用@ApiResponses和@ApiResponse一起封装。如果返回中含有泛型实体(目前来说接口返回都是一个基本返回对象包装实例数据对象)。此时想要展现出来,就需要在接口方法处指定返回的泛型,然后在@ApiResponse注解中不要使用Response属性指定返回类型。


@RestController
@RequestMapping("/manager/blacklist")
@Api("黑名单管理")
public class BlackListController{
    @Autowired
    private BlackListService blackListService;
 
    
    @ApiOperation(value = "list",notes = "分页列表查询",HttpMethod = "POST")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "query",name = "BlackListDto",value = "黑名单实体",required = true)
            @ApiImplicitParam(paramType = "query",name = "tokenId",value = "鉴权Id",required = true)
    })
    @ApiResponses({
            @ApiResponse(code = 200,message = "成功" ),
            @ApiResponse(code= 500,message = "服务错误")
    })
    @PostMapping("/list")
    public ResponeModel<BlackListDto> list(@RequestBody BlackListDto blackListDto,String tokenId){
        PageInfo<BlackListDto> list = blackListService.pageList(blackListDto);
        return ResponeModel.ok(list);
    }
}

(5)实体修饰。要想在swagger界面展现出每个字段对应的说明。最后还需要在实体类中定义一层。使用@ApiModel定义类和@ApiModelProperty定义属性。


import com.fasterxml.jackson.annotation.JSONFORMat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiParam;
import lombok.Data;
 
import java.util.Date;
 

@Data
@ApiModel(value = "BlackListDto",description = "黑名单实体信息")
public class BlackListDto  {
	private static final long serialVersionUID = 1L;
 
	
	@ApiModelProperty(value = "主键ID",name = "id")
	private Long id;
	
	@ApiModelProperty(value = "买家编号",name = "buyerNo")
	private String buyerNo;
	
	@ApiModelProperty(value = "备注",name = "remarks")
	private String remarks;
	
	@ApiModelProperty(value = "黑名单状态",dataType = "Integer")
	private Integer status;
	
	@ApiModelProperty(value = "字符型保留字段1",name = "fldS1")
	private String fldS1;
	
	@ApiModelProperty(value = "字符型保留字段2",name = "fldS2")
	private String fldS2;
	
	@ApiModelProperty(value = "字符型保留字段3",name = "fldS3")
	private String fldS3;
	
	@ApiModelProperty(value = "数值型保留字段1",name = "fldN1")
	private Integer fldN1;
	
	@ApiModelProperty(value = "数值型保留字段2",name = "fldN2")
	private Integer fldN2;
	
	@jsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8",locale = "zh")
	@ApiModelProperty(value = "创建时间",name = "createDate")
	private Date createDate;
	
	@ApiModelProperty(value = "修改人",name = "updateBy")
	private String updateBy;
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8",locale = "zh")
	@ApiModelProperty(value = "修改时间",name = "updateDate")
	private Date updateDate;
	
	@ApiModelProperty(value = "创建人",name = "createBy")
	private String createBy;
}

到此这篇关于教你利用SpringBoot集成swagger并生成接口文档的文章就介绍到这了,更多相关springboot集成swagger内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 教你利用springboot集成swagger并生成接口文档

本文链接: https://www.lsjlt.com/news/126882.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 教你利用springboot集成swagger并生成接口文档
    效果图 实现步骤 1.maven中引入jar包,不同版本的swagger可能页面效果不一样。 <dependency> <groupI...
    99+
    2024-04-02
  • Laravel swagger接口文档生成和管理
    接口开发随着时间推移接口会越来越多,随着多部门之间的协作越来越频繁, 维护成本越来越高, 文档的可维护性越来越差, 需要一个工具来管理这些接口的文档, 并能够充当mock server给调用方使用 这里推荐swagger生成和管理接口文档...
    99+
    2024-04-02
  • SpringBoot使用swagger生成api接口文档的方法详解
    目录前言具体例子maven配置项目application.yml配置springApplication添加swagger注解在控制层添加swagger注解前言 在之前的文章中,使用m...
    99+
    2022-11-13
    SpringBoot swagger生成api接口文档 SpringBoot 生成api接口文档 SpringBoot swagger
  • SpringBoot中怎么集成Swagger文档
    在SpringBoot中集成Swagger文档,可以通过以下步骤: 添加Swagger依赖: 在项目的pom.xml文件中添加Sw...
    99+
    2024-03-07
    SpringBoot
  • java集成开发SpringBoot生成接口文档示例实现
    目录为什么要用Swagger ?Swagger集成第一步: 引入依赖包第二步:修改配置文件第三步,配置API接口Unable to infer base urlFor input s...
    99+
    2024-04-02
  • golang组件swagger生成接口文档的方法
    这篇文章主要介绍“golang组件swagger生成接口文档的方法”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“golang组件swagger生成接口文档的方法”文章能帮助大家解决问题。swagge...
    99+
    2023-06-30
  • goswagger生成接口文档使用教程
    目录前言Swagger介绍1、安装2、检测是否安装成功3、安装gin-swagger扩展使用1、添加注释2、生成接口文档数据3、引入gin-swagger渲染文档数据总结前言 这篇文...
    99+
    2024-04-02
  • java集成开发SpringBoot生成接口文档的方法是什么
    这篇文章主要介绍“java集成开发SpringBoot生成接口文档的方法是什么”,在日常操作中,相信很多人在java集成开发SpringBoot生成接口文档的方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家...
    99+
    2023-06-25
  • golang组件swagger生成接口文档实践示例
    目录swagger介绍gin-swagger实战第一步:添加注释第二步:生成接口文档数据第三步:引入gin-swagger渲染文档数据swagger介绍 Swagger本质上是一种用...
    99+
    2024-04-02
  • 怎么用flask生成swagger文档
    这篇文章主要讲解了“怎么用flask生成swagger文档”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用flask生成swagger文档”吧!flas...
    99+
    2024-04-02
  • SpringBoot怎么整合Swagger Api自动生成文档
    本篇内容主要讲解“SpringBoot怎么整合Swagger Api自动生成文档”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“SpringBoot怎么整合Swagger Api自动生成文档”吧!...
    99+
    2023-06-20
  • spring boot集成smart-doc自动生成接口文档详解
    目录前言功能特性1 项目中创建 /src/main/resources/smart-doc.json配置文件2 配置内容如下(指定文档的输出路径)3 pom.xml下添加配置4 运行...
    99+
    2024-04-02
  • thinkphp6使用Apidoc生成接口文档
    下载-配置-使用 下载Apidoc配置apidoc.php文件在控制器里添加注解打开文档 下载Apidoc 进入项目根目录,执行如下命令: composer require hg/ap...
    99+
    2023-10-03
    php 开发语言
  • 怎么实现Java开发SpringBoot集成接口文档
    本篇内容介绍了“怎么实现Java开发SpringBoot集成接口文档”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!swagger vs sm...
    99+
    2023-06-25
  • Java开发SpringBoot集成接口文档实现示例
    目录swagger vs smart-docSwagger的代码侵入性比较强原生swagger不支持接口的参数分组简单罗列一下smart-doc的优点SpringBoot集成 sma...
    99+
    2024-04-02
  • PHP使用Swagger生成好看的API文档
    目录一、安装swagger-php二、设置一个输出api文档数据的接口三、使用四、显示swagger uiPHP使用Swagger生成好看的API文档不是不可能,而是非常简单。 首先...
    99+
    2023-02-15
    PHP Swagger生成API文档 PHP Swagger
  • SpringBoot如何优雅的整合Swagger Api自动生成文档
    目录前言 整合swagger api 自定义配置信息 简单使用 Swagger常用注解Api标记 ApiOperation标记 ApiParam标记 ApiModel标记 ApiMo...
    99+
    2024-04-02
  • 怎么用java快速生成接口文档
    本篇内容主要讲解“怎么用java快速生成接口文档”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用java快速生成接口文档”吧!目录前言方案一,使用japidocs基本用法方案2,swagge...
    99+
    2023-06-20
  • django怎么自动生成接口文档
    Django没有内置的功能来自动生成接口文档,但是可以使用第三方工具来实现自动生成接口文档。 以下是一些常用的自动生成接口文档的工具...
    99+
    2023-10-23
    django
  • 如何利用node生成word文档
    这篇“如何利用node生成word文档”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“如何利...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作