欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

解決springboot引入swagger2不生效問(wèn)題

 更新時(shí)間:2022年05月17日 08:53:52   作者:愛(ài)好jyh  
這篇文章主要為大家介紹了解決springboot引入swagger2不生效問(wèn)題的方案,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

今天遇到跟同事遇到一個(gè)由于失誤導(dǎo)致的問(wèn)題,也可以說(shuō)比較難發(fā)現(xiàn)了.在此記錄一下(我們用的springboot是2.0.3,swagger是2.2.2)

問(wèn)題描述:

swagger修改title,description等都不生效。并且啟動(dòng)springboot,沒(méi)有有去加載swagger的配置類(lèi)。(在debug模式啟動(dòng))

經(jīng)過(guò)不斷的查找,發(fā)現(xiàn)了原因是:swagger的配置類(lèi)的注解加錯(cuò)了。@Configuration不小心寫(xiě)成了@Configurable.

還有就是@EnableSwagger2注解只需要加在swagger配置類(lèi)上

springboot引入swagger2的步驟:

①引入依賴(lài)

<!--  引入swagger包 -->
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.2.2</version>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>2.2.2</version>
        </dependency>

②編寫(xiě)Swagger2的配置類(lèi)

@Configuration
@EnableSwagger2
public class Swagger2Config {
    @Bean
    public Docket api(){
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(getApiInfo())
                .select()
               .apis(RequestHandlerSelectors.basePackage("com.xx.controller"))
                .paths(PathSelectors.any())
                .build();
    }
    private ApiInfo getApiInfo(){
        return new ApiInfoBuilder()
                .title("Swagger2....")
                .description("Swagger2")
                .version("1.0")
                .license("Apache 2.0")
                .licenseUrl("http://www.apache.org/licenses/LICENSE-2.0")
                .build();
    }
}

③在controller中添加注解:按需添加注解

@Controller
@RequestMapping("/user")
@Api(tags = "我的接口模塊")
public class UserController {
    @Autowired
    private UserService userService;
	//注意這個(gè)注解跟請(qǐng)求對(duì)應(yīng)的@XxxMapping,要不然這個(gè)接口會(huì)生成好多方法
    @GetMapping(value = "/getUserById")
    @ResponseBody
    @ApiOperation(value = "根據(jù)ID查詢(xún)User")
    public User getUserById(@RequestParam(value = "id") int id){
        return userService.getUserById(id);
    }
}

④在model(pojo)上加注解,按需添加

@ApiModel(value = "用戶(hù)對(duì)象")
public class User {
    @ApiModelProperty(value = "用戶(hù)ID", name = "userId")
    private Integer userId;
    @ApiModelProperty(value = "用戶(hù)姓名",name = "userName")
    private String userName;
    @ApiModelProperty(value = "用戶(hù)密碼",name = "password")
    private String password;
    @ApiModelProperty(value = "用戶(hù)手機(jī)號(hào)",name = "phone")
    private String phone;

一些注解的使用

@Api:一般用于Controller中,用于接口分組

@ApiOperation:接口說(shuō)明,用于api方法上。

@ApiImplicitParams:用在方法上包含一組參數(shù)說(shuō)明

@ApiImplicitParam:用在@ApiImplicitParams注解中,指定一個(gè)請(qǐng)求參數(shù)的各個(gè)方面

paramType:參數(shù)放在哪個(gè)地方

header 請(qǐng)求參數(shù)的獲?。篅RequestHeader

query 請(qǐng)求參數(shù)的獲取:@RequestParam

path(用于restful接口) 請(qǐng)求參數(shù)的獲?。篅PathVariable

body(不常用)

form(不常用)

name:參數(shù)名

dataType:參數(shù)類(lèi)型

required:參數(shù)是否必須傳

value:參數(shù)的意思

defaultValue:參數(shù)的默認(rèn)值

@ApiResponses:用于表示一組響應(yīng)

@ApiResponse:用在@ApiResponses中,一般用于表達(dá)一個(gè)錯(cuò)誤的響應(yīng)信息

code:數(shù)字,例如400

message:信息&#xff0c;例如”請(qǐng)求參數(shù)沒(méi)填好”

response:拋出異常的類(lèi)

@ApiModel:描述一個(gè)Model的信息(這種一般用在post創(chuàng)建的時(shí)候,使用@RequestBody這樣的場(chǎng)景,請(qǐng)求參數(shù)無(wú)法使用@ApiImplicitParam注解進(jìn)行描述的時(shí)候)表明這是一個(gè)被swagger框架管理的model,用于class上

@ApiModelProperty :使用在實(shí)體類(lèi)上的成員變量上,描述成員變量的含義。

以上就是解決springboot引入swagger2不生效問(wèn)題的詳細(xì)內(nèi)容,更多關(guān)于springboot引入swagger2的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • SpringBoot 對(duì)象存儲(chǔ) MinIO的詳細(xì)過(guò)程

    SpringBoot 對(duì)象存儲(chǔ) MinIO的詳細(xì)過(guò)程

    MinIO 是一個(gè)基于 Go 實(shí)現(xiàn)的高性能、兼容 S3 協(xié)議的對(duì)象存儲(chǔ),它適合存儲(chǔ)海量的非結(jié)構(gòu)化的數(shù)據(jù),這篇文章主要介紹了SpringBoot 對(duì)象存儲(chǔ) MinIO,需要的朋友可以參考下
    2023-07-07
  • HttpsURLConnection上傳文件流(實(shí)例講解)

    HttpsURLConnection上傳文件流(實(shí)例講解)

    下面小編就為大家?guī)?lái)一篇HttpsURLConnection上傳文件流(實(shí)例講解)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-07-07
  • SpringBoot 統(tǒng)一異常處理的實(shí)現(xiàn)示例

    SpringBoot 統(tǒng)一異常處理的實(shí)現(xiàn)示例

    本文主要介紹了SpringBoot 統(tǒng)一異常處理的實(shí)現(xiàn)示例,目的就是在異常發(fā)生時(shí),盡可能地減少破壞,下面就來(lái)介紹一下,感興趣的可以了解一下
    2024-07-07
  • Spring Native項(xiàng)目實(shí)戰(zhàn)(體驗(yàn)79毫秒啟動(dòng)springboot應(yīng)用)

    Spring Native項(xiàng)目實(shí)戰(zhàn)(體驗(yàn)79毫秒啟動(dòng)springboot應(yīng)用)

    Spring Native是Spring提供的、制作native image的技術(shù)方案,本篇主要內(nèi)容是開(kāi)發(fā)springboot應(yīng)用再構(gòu)建為native image的方法,通過(guò)Spring Native項(xiàng)目實(shí)戰(zhàn)讓大家體驗(yàn)79毫秒啟動(dòng)springboot應(yīng)用,感興趣的朋友跟隨小編一起看看吧
    2021-05-05
  • Gradle快速安裝及入門(mén)

    Gradle快速安裝及入門(mén)

    今天小編就為大家分享一篇關(guān)于Gradle快速安裝及入門(mén),小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2018-10-10
  • java回溯算法解數(shù)獨(dú)問(wèn)題

    java回溯算法解數(shù)獨(dú)問(wèn)題

    這篇文章主要為大家詳細(xì)介紹了java回溯算法解數(shù)獨(dú)問(wèn)題,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • 一文詳解Java中流程控制語(yǔ)句

    一文詳解Java中流程控制語(yǔ)句

    在一個(gè)程序執(zhí)行的過(guò)程中,各條語(yǔ)句的執(zhí)行順序?qū)Τ绦虻慕Y(jié)果是有直接影響的。也就是說(shuō),程序的流程對(duì)運(yùn)行結(jié)果有直接的影響。所以,我們必須清楚每條語(yǔ)句的執(zhí)行流程。本文就來(lái)通過(guò)一些示例帶大家詳細(xì)了解一下
    2022-10-10
  • idea 開(kāi)發(fā)神器之idea插件匯總

    idea 開(kāi)發(fā)神器之idea插件匯總

    這篇文章主要介紹了idea 開(kāi)發(fā)神器之idea插件匯總,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-12-12
  • MyBatis的逆向工程詳解

    MyBatis的逆向工程詳解

    這篇文章主要介紹了MyBatis的逆向工程詳解,詳細(xì)的介紹了逆行工程的概念和實(shí)現(xiàn),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-08-08
  • 使用nacos實(shí)現(xiàn)自定義文本配置的實(shí)時(shí)刷新

    使用nacos實(shí)現(xiàn)自定義文本配置的實(shí)時(shí)刷新

    我們都知道,使用Nacos時(shí),如果將Bean使用@RefreshScope標(biāo)注之后,這個(gè)Bean中的配置就會(huì)做到實(shí)時(shí)刷新,本文給大家介紹了如何使用nacos實(shí)現(xiàn)自定義文本配置的實(shí)時(shí)刷新,需要的朋友可以參考下
    2024-05-05

最新評(píng)論