广告
返回顶部
首页 > 资讯 > 后端开发 > Python >解决swagger2中@ApiResponse的response不起作用
  • 509
分享到

解决swagger2中@ApiResponse的response不起作用

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

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

摘要

目录swagger可以生成比较友好的在线api说明文档我们用的是swagger2swagger可以生成比较友好的在线API说明文档 友好的API说明重要性不言而喻,因为所谓API,肯

swagger可以生成比较友好的在线API说明文档

友好的API说明重要性不言而喻,因为所谓API,肯定就是被用来调用的,其中涉及到不同群体的工作,比如前端后端,本公司与第三方公司,等等。以往,制订数据接口,要正正经经地写一份正式的文档,名曰集成规范,大家对照着来。但现在有了swagger框架,就方便许多了,直接利用代码生成在线的接口说明文档。

swagger要产生比较实用的API说明文档,需要加一些标注。但是,这两天在实际应用过程中,却遇到一个问题,即无法生成响应数据的实体类说明。说明部分空空如也。

这样子的话,那么这个API说明文档意义就不大了。因为返回的数据中,有许多字段需要加上中文注释,否则根本不知道什么意思。

我们用的是swagger2

pom.xml

<!-- swagger2 -->
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger-ui</artifactId>
    <version>3.0.0</version>
</dependency>
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger2</artifactId>
    <version>3.0.0</version>
</dependency>
<dependency>
    <groupId>com.GitHub.xiaoymin</groupId>
    <artifactId>swagger-bootstrap-ui</artifactId>
    <version>1.9.5</version>
</dependency>

API所在控制器

import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import org.springframework.WEB.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("api/work/production/total")
@Api(tags="产量产值")
public class WorkProductionChangeController {
    @Resource
    private WorkProductionChangeService workProductionChangeService;
    @PostMapping(path = "/all")
    @ApiOperation(value = "获取所有年份的总产量产值")
    @ApiResponses(value = {
            @ApiResponse(code = 200, message = "返回所有年份的总产量产值",response = WorkProductionChange.class)
    })
    public JSONObject getAll() {
        return 。。。
    }
}

实体类WorkProductionChange

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@ApiModel
public class WorkProductionChange implements Serializable {
    private static final long serialVersionUID = -64757122210615988L;
    private Long id;
    private Integer year;
    @ApiModelProperty(value = "总产量(吨)")
    private Double totalWeight;
    @ApiModelProperty(value = "总产值(万元)")
    private Double totalMoney;
	。。。
}

按道理,response = WorkProductionChange.class,那么实体WorkProductionChange的信息应该出现在说明文档上,但从效果看,并没有。

狂搜索。后来终于看到有鬼佬说了这么一句:

Springfox 3.0 uses v3 models by default, but source.getResponses() gives wrong type. To workaround it for now, add:

springfox.documentation.swagger.use-model-v3=false in your application.properties.

英文烂,勉强看意思就是说,Springfox3.0默认用swagger v3来返回信息,但有个地方又出毛病了。为了避免愚蠢的系统犯错,你要在配置文件application.properties里加上一句:

application.properties

springfox.documentation.swagger.use-model-v3=false

如果是yml,就是

springfox:
  documentation:
    swagger:
      use-model-v3: false

太阳出来了。这才是我想要的。

参考文章:

https://github.com/springfox/springfox/issues/3503

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: 解决swagger2中@ApiResponse的response不起作用

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

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

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

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

下载Word文档
猜你喜欢
  • 解决swagger2中@ApiResponse的response不起作用
    目录swagger可以生成比较友好的在线API说明文档我们用的是swagger2swagger可以生成比较友好的在线API说明文档 友好的API说明重要性不言而喻,因为所谓API,肯...
    99+
    2022-11-13
  • css中top不起作用的解决方法
    这篇文章主要介绍css中top不起作用的解决方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!css top不起作用是因为“position”属性的值为“static”,那么设置“top”属性就不会产生任何效果,其解...
    99+
    2023-06-14
  • PHP中ini_set不起作用的解决方法
    这篇文章将为大家详细讲解有关PHP中ini_set不起作用的解决方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。PHP ini_set不起作用的解决办法:1、修改htaccess文件;2、在httpd....
    99+
    2023-06-22
  • global中php不起作用的解决方法
    小编给大家分享一下global中php不起作用的解决方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!php global不起作用的解决办法:1、减少多层次的in...
    99+
    2023-06-08
  • @JsonSerialize不起作用的解决方案
    目录@JsonSerialize不起作用在项目中 当字段实体类为Long类型时但是这里有个小坑@JsonSerialize正确使用1. 写一个负责转换的类2. 在实体类上需要装换的字...
    99+
    2022-11-12
  • js中onbeforeunload不起作用怎么解决
    如果在JavaScript中使用`onbeforeunload`事件,但发现它不起作用,则可能有以下几种原因和解决方法:1. 浏览器...
    99+
    2023-08-30
    js
  • react中less不起作用怎么解决
    今天小编给大家分享一下react中less不起作用怎么解决的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起...
    99+
    2022-10-19
  • 解决Lombok注解不起作用的问题
    Lombok注解不起作用 场景: 减少实体类中如Getter,Setter方法的书写 原因: lombok是一个第三方插件,我们使用时需要进行两个步骤(两个步骤缺一不可): 1:引入...
    99+
    2022-11-12
  • css中的text-align不起作用如何解决
    本篇内容介绍了“css中的text-align不起作用如何解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成...
    99+
    2022-10-19
  • jquery data不起作用的解决方法
    小编给大家分享一下jquery data不起作用的解决方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! ...
    99+
    2022-10-19
  • 解决spring.thymeleaf.cache=false不起作用的问题
    目录spring.thymeleaf.cache=false不起作用thymeleaf缓存关闭spring.thymeleaf.cache=false不起作用 配置是清除缓存,实现热...
    99+
    2022-11-13
  • async注解不起作用如何解决
    如果使用的是Python 3.7及以上版本,需要确保使用的函数是异步函数,即使用了`async def`关键字定义的函数。另外,需要...
    99+
    2023-09-16
    async
  • lombok注解不起作用如何解决
    如果Lombok注解不起作用,可能有以下几种解决方法: 确认是否安装了Lombok插件:在使用Lombok注解之前,确保已经安装...
    99+
    2023-10-28
    lombok
  • await在forEach中不起作用如何解决
    这期内容当中小编将会给大家带来有关await在forEach中不起作用如何解决,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。首先引一个很简单题目:给一个数组,每隔1s打印出来.这里我把我一开始在项目中的代...
    99+
    2023-06-06
  • android layout不起作用怎么解决
    如果Android布局不起作用,可以尝试以下解决方法:1. 检查布局文件是否正确引用了正确的布局文件。确保布局文件中的根布局标签正确...
    99+
    2023-09-14
    android
  • @JsonInclude(JsonInclude.Include.NON_NULL)不起作用如何解决
    这篇“@JsonInclude(JsonInclude.Include.NON_NULL)不起作用如何解决”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收...
    99+
    2023-07-02
  • 解决@JsonInclude(JsonInclude.Include.NON_NULL)不起作用问题
    目录@JsonInclude(JsonInclude.Include.NON_NULL)不起作用原因@JsonInclude(JsonInclude.Include.NON_NULL...
    99+
    2022-11-13
  • spring.thymeleaf.cache=false不起作用怎么解决
    本文小编为大家详细介绍“spring.thymeleaf.cache=false不起作用怎么解决”,内容详细,步骤清晰,细节处理妥当,希望这篇“spring.thymeleaf.cache=false不起作用怎么解决”文章能帮助大家解决疑惑...
    99+
    2023-07-02
  • Vue.config.productionTip=false不起作用如何解决
    本篇内容主要讲解“Vue.config.productionTip=false不起作用如何解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Vue.config.productionTip=fa...
    99+
    2023-07-04
  • jquery .val()不起作用如何解决
    本篇内容介绍了“jquery .val()不起作用如何解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!jquery .val()不起作用的...
    99+
    2023-07-04
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作