亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

 更新時間:2022年06月14日 09:34:26   作者:左直拳  
這篇文章主要介紹了解決swagger2中@ApiResponse的response不起作用問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

swagger可以生成比較友好的在線API說明文檔

友好的API說明重要性不言而喻,因為所謂API,肯定就是被用來調用的,其中涉及到不同群體的工作,比如前端后端,本公司與第三方公司,等等。以往,制訂數(shù)據(jù)接口,要正正經(jīng)經(jīng)地寫一份正式的文檔,名曰集成規(guī)范,大家對照著來。但現(xiàn)在有了swagger框架,就方便許多了,直接利用代碼生成在線的接口說明文檔。

swagger要產生比較實用的API說明文檔,需要加一些標注。但是,這兩天在實際應用過程中,卻遇到一個問題,即無法生成響應數(shù)據(jù)的實體類說明。說明部分空空如也。

這樣子的話,那么這個API說明文檔意義就不大了。因為返回的數(shù)據(jù)中,有許多字段需要加上中文注釋,否則根本不知道什么意思。

我們用的是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的信息應該出現(xiàn)在說明文檔上,但從效果看,并沒有。

狂搜索。后來終于看到有鬼佬說了這么一句:

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來返回信息,但有個地方又出毛病了。為了避免愚蠢的系統(tǒng)犯錯,你要在配置文件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

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Java多線程之讀寫鎖分離設計模式

    Java多線程之讀寫鎖分離設計模式

    這篇文章主要介紹了Java多線程讀寫鎖分離設計模式,主要利用Java到嗎完成read read 并行化、read write 不允許、write write 不允許幾項任務,需要的朋友可以參考一下
    2021-10-10
  • 手把手教你怎么創(chuàng)建spring項目

    手把手教你怎么創(chuàng)建spring項目

    今天教大家怎么寫spring項目,文中有非常詳細的圖文示例及介紹,對正在學習java的小伙伴們很有幫助,需要的朋友可以參考下
    2021-06-06
  • 關于Springboot2.x集成lettuce連接redis集群報超時異常Command timed out after 6 second(s)

    關于Springboot2.x集成lettuce連接redis集群報超時異常Command timed out afte

    這篇文章主要介紹了Springboot2.x集成lettuce連接redis集群報超時異常Command timed out after 6 second(s),本文通過實例代碼給大家介紹的非常詳細,需要的朋友可以參考下
    2021-03-03
  • Java使用Hutool+自定義注解實現(xiàn)數(shù)據(jù)脫敏

    Java使用Hutool+自定義注解實現(xiàn)數(shù)據(jù)脫敏

    我們在使用手機銀行的時候經(jīng)常能看到APP上會將銀行卡的卡號中間部分給隱藏掉使用 ***** 來代替,在某些網(wǎng)站上查看一些業(yè)務密碼時(例如簽到密碼等)也會使用 ***** 來隱藏掉真正的密碼,那么這種方式是如何實現(xiàn)的呢,本文將給大家介紹使用Hutool+自定義注解實現(xiàn)數(shù)據(jù)脫敏
    2023-09-09
  • IDEA中sout快捷鍵無效問題的解決方法

    IDEA中sout快捷鍵無效問題的解決方法

    這篇文章主要介紹了IDEA中sout快捷鍵無效問題,在類文件中進行操作會造成sout快捷命令無法自動生成,比如操作了import引入其它包之后,本文給大家分享解決方法,感興趣的朋友一起看看吧
    2022-07-07
  • 解決spring.thymeleaf.cache=false不起作用的問題

    解決spring.thymeleaf.cache=false不起作用的問題

    這篇文章主要介紹了解決spring.thymeleaf.cache=false不起作用的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • springboot使用IDEA遠程Debug

    springboot使用IDEA遠程Debug

    項目上線之后,如果日志打印的很模糊或者業(yè)務邏輯比較復雜,有時候無法定位具體的錯誤原因,因此可以通過IDEA遠程代理進行Debug,本文就來介紹一下如何使用
    2021-06-06
  • Java兩個變量的互換(不借助第3個變量)具體實現(xiàn)方法

    Java兩個變量的互換(不借助第3個變量)具體實現(xiàn)方法

    這篇文章主要介紹了Java兩個變量的互換(不借助第3個變量)具體實現(xiàn)方法,需要的朋友可以參考下
    2014-02-02
  • Java中的clone方法詳解_動力節(jié)點Java學院整理

    Java中的clone方法詳解_動力節(jié)點Java學院整理

    clone顧名思義就是復制, 在Java語言中, clone方法被對象調用,所以會復制對象。下面通過本文給大家介紹java中的clone方法,感興趣的朋友一起看看吧
    2017-06-06
  • 基于apache poi根據(jù)模板導出excel的實現(xiàn)方法

    基于apache poi根據(jù)模板導出excel的實現(xiàn)方法

    下面小編就為大家?guī)硪黄赼pache poi根據(jù)模板導出excel的實現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06

最新評論