最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java Swagger技術(shù)使用指南

 更新時(shí)間:2021年09月30日 14:48:04   作者:四季人06  
Swagger 是一個(gè)規(guī)范和完整的框架,用于生成、描述、調(diào)用和可視化 RESTful 風(fēng)格的 Web 服務(wù)??傮w目標(biāo)是使客戶端和文件系統(tǒng)作為服務(wù)器以同樣的速度來(lái)更新。文件的方法,參數(shù)和模型緊密集成到服務(wù)器端的代碼,允許API來(lái)始終保持同步

Swagger的作用與概念

Swagger官網(wǎng),點(diǎn)此進(jìn)入
在前后端分離時(shí)代,我們需要實(shí)時(shí)自動(dòng)更新接口信息,和測(cè)試接口,實(shí)現(xiàn)前后端分離式開(kāi)發(fā),swagger因此產(chǎn)生

在項(xiàng)目中使用swagger

以下以3.0.0依賴(lài)為例

 <!--swagger 相關(guān)組件-->
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>3.0.0</version>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>3.0.0</version>
        </dependency>
          <dependency>
           <groupId>io.springfox</groupId>
           <artifactId>springfox-boot-starter</artifactId>
           <version>3.0.0</version>
        </dependency>
@RestController
public class HelloController {

    @RequestMapping(value = "/hello")
    public String hello(){
         return "hello";
    }
}
@Configuration
@EnableSwagger2 //開(kāi)啟swagger2
public class SwaggerConfig {

}

然后訪問(wèn)http://localhost:8080/swagger-ui/index.html
你就能看到如下界面,為swagger文檔

在這里插入圖片描述

配置swagger

先來(lái)看看底層的代碼,了解一下

在這里插入圖片描述

在這里插入圖片描述

ApiInfo 配置

@Configuration
@EnableSwagger2 //開(kāi)啟swagger2
public class SwaggerConfig {

    @Bean
    public Docket docket(){

        return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo());
    }

    //配置swagger信息apiInfo
    private ApiInfo apiInfo(){
        //作者信息
        Contact contact = new Contact("宋先慧", "https://blog.csdn.net/sxh06", "xianhuisong@yeah.net");
        return new ApiInfo(
                "宋先慧的Api Documentation",
                "學(xué)習(xí)swagger沒(méi)有盡頭",
                "1.0",
                "urn:tos",
                contact,
                "Apache 2.0",
                "http://www.apache.org/licenses/LICENSE-2.0",
                new ArrayList());
    }

}

swagger配置掃描接口

@Configuration
@EnableSwagger2 //開(kāi)啟swagger2
public class SwaggerConfig {

//    @Bean
//    public Docket docket1(){
//        return new Docket(DocumentationType.SWAGGER_2).groupName("分組二");
//    }
    @Bean
    public Docket docket(Environment environment){


        Profiles profiles=Profiles.of("dev");
        //獲取項(xiàng)目的環(huán)境
         boolean flag=environment.acceptsProfiles(profiles);

        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .groupName("宋先慧")  //分組
                .enable(flag)  //enable 配置是否啟動(dòng)swagger  flase則不能在瀏覽器訪問(wèn)
                .select()
                //RequestHandlerSelectors實(shí)現(xiàn)類(lèi)  配置掃描方式
                // basePackage指定要掃描的包
                // any()全部
                // none()都不掃描
                //withClassAnnotation()  掃描類(lèi)上的注解  參數(shù)是一個(gè)注解的反射對(duì)象
                //withMethodAnnotation   掃描方法上的注解
                .apis(RequestHandlerSelectors.basePackage("com.sxh.swagger.controller"))
                //.apis(RequestHandlerSelectors.withMethodAnnotation(GetMapping.class))
                //過(guò)濾什么路勁  過(guò)濾請(qǐng)求
                //.paths(PathSelectors.ant("/sxh/**"))
                .build();
    }

    //配置swagger信息apiInfo
    private ApiInfo apiInfo(){
        //作者信息
        Contact contact = new Contact("宋先慧", "https://blog.csdn.net/sxh06", "xianhuisong@yeah.net");
        return new ApiInfo(
                "宋先慧的Api Documentation",
                "學(xué)習(xí)swagger沒(méi)有盡頭",
                "1.0",
                "urn:tos",
                contact,
                "Apache 2.0",
                "http://www.apache.org/licenses/LICENSE-2.0",
                new ArrayList());
    }

}

如果我只希望在生成環(huán)境使用swagger,在正式環(huán)境不使用swagger怎么解決?(enable=false|true)

配置api文檔分組

在這里插入圖片描述

多個(gè)分組

配置多個(gè)Docket 實(shí)例即可

 @Bean
    public Docket docket1(){
        return new Docket(DocumentationType.SWAGGER_2).groupName("分組一");
    }

 @Bean
    public Docket docket2(){
        return new Docket(DocumentationType.SWAGGER_2).groupName("分組二");
    }`

實(shí)體類(lèi)配置

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

到此這篇關(guān)于Java Swagger技術(shù)使用指南的文章就介紹到這了,更多相關(guān)Java Swagger內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SpringBoot3整合 Elasticsearch 8.x 使用Repository構(gòu)建增刪改查示例應(yīng)用

    SpringBoot3整合 Elasticsearch 8.x 使用Repository構(gòu)

    我們構(gòu)建了一個(gè)完整的 Spring Boot 3 和 Elasticsearch 8.x 的增刪改查示例應(yīng)用,使用 Spring Data Elasticsearch Repository,我們能夠快速實(shí)現(xiàn)對(duì) Elasticsearch 的基本 CRUD 操作,簡(jiǎn)化了開(kāi)發(fā)流程,希望這個(gè)示例能夠幫助你理解如何在項(xiàng)目中有效使用 Elasticsearch!
    2024-11-11
  • SpringBoot?+DynamicDataSource切換多數(shù)據(jù)源的全過(guò)程

    SpringBoot?+DynamicDataSource切換多數(shù)據(jù)源的全過(guò)程

    這篇文章主要介紹了SpringBoot?+DynamicDataSource切換多數(shù)據(jù)源的全過(guò)程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • java實(shí)現(xiàn)簡(jiǎn)單聊天室單人版

    java實(shí)現(xiàn)簡(jiǎn)單聊天室單人版

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)簡(jiǎn)單聊天室的單人版,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • Spring sentinel哨兵模式相關(guān)原理解析

    Spring sentinel哨兵模式相關(guān)原理解析

    這篇文章主要介紹了Spring sentinel哨兵模式相關(guān)原理解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-11-11
  • Java線程中的ThreadLocal原理及源碼解析

    Java線程中的ThreadLocal原理及源碼解析

    這篇文章主要介紹了Java線程中的ThreadLocal原理及源碼解析,ThreadLocal 的作用是為每個(gè)線程保存一份局部變量的引用,實(shí)現(xiàn)多線程之間的數(shù)據(jù)隔離,從而避免了線程不安全情況的發(fā)生,需要的朋友可以參考下
    2023-12-12
  • Eclipse最新版使用過(guò)程中遇到的問(wèn)題總結(jié)

    Eclipse最新版使用過(guò)程中遇到的問(wèn)題總結(jié)

    這篇文章主要介紹了Eclipse最新版使用過(guò)程中遇到的問(wèn)題總結(jié)的相關(guān)資料,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-09-09
  • 基于Mybatis映射的一點(diǎn)心得(分享)

    基于Mybatis映射的一點(diǎn)心得(分享)

    下面小編就為大家?guī)?lái)一篇基于Mybatis映射的一點(diǎn)心得(分享)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-11-11
  • SpringBoot整合RocketMq實(shí)現(xiàn)分布式事務(wù)

    SpringBoot整合RocketMq實(shí)現(xiàn)分布式事務(wù)

    這篇文章主要為大家詳細(xì)介紹了SpringBoot整合RocketMq實(shí)現(xiàn)分布式事務(wù)的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),有需要的小伙伴可以參考一下
    2024-11-11
  • 在Java中避免NullPointerException的解決方案

    在Java中避免NullPointerException的解決方案

    這篇文章主要介紹了在Java中避免NullPointerException的解決方案,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-04-04
  • 如何解決Could not transfer artifact org.springframework.boot問(wèn)題

    如何解決Could not transfer artifact org.spri

    在Maven更新過(guò)程中遇到“Could not transfer artifact org.springframework.boot”錯(cuò)誤通常是由于網(wǎng)絡(luò)問(wèn)題,解決方法是在Maven的設(shè)置中忽略HTTPS,添加特定語(yǔ)句后,可以正常下載依賴(lài),但下載速度可能較慢,這是一種常見(jiàn)的解決方案,希望對(duì)遇到相同問(wèn)題的人有所幫助
    2024-09-09

最新評(píng)論

称多县| 驻马店市| 禹城市| 尚志市| 海晏县| 远安县| 株洲市| 保靖县| 远安县| 礼泉县| 信阳市| 晋州市| 哈密市| 枞阳县| 阿鲁科尔沁旗| 固安县| 襄垣县| 宁南县| 沂源县| 阿坝县| 晋州市| 元阳县| 教育| 信丰县| 民乐县| 海淀区| 福海县| 东乡族自治县| 平邑县| 嵊泗县| 永康市| 青浦区| 出国| 青龙| 乌什县| 台中县| 昌吉市| 邵武市| 嘉义县| 阿鲁科尔沁旗| 绵阳市|