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

SpringBoot項(xiàng)目中使用Swagger2及注解解釋的詳細(xì)教程

 更新時(shí)間:2023年04月03日 10:51:51   作者:nianyuw  
Swagger2是一個(gè)開(kāi)源項(xiàng)目,用于為RESTful Web服務(wù)生成REST API文檔,下面這篇文章主要給大家介紹了關(guān)于SpringBoot項(xiàng)目中使用Swagger2及注解解釋的詳細(xì)教程,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下

一、導(dǎo)入Swagger坐標(biāo)依賴

<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger2</artifactId>
    <version>${swagger.version}</version>
</dependency>
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger-ui</artifactId>
    <version>${swagger.version}</version>
</dependency>

其中版本最常用2.9.2

二、在spring啟動(dòng)類(lèi)添加注解@EnableSwagger2

@EnableSwagger2是springfox提供的一個(gè)注解,代表swagger2相關(guān)技術(shù)開(kāi)啟。會(huì)掃描當(dāng)前類(lèi)所在包,及子包中所有類(lèi)型的swagger相關(guān)注解,做swagger文檔的定制

三、啟動(dòng)項(xiàng)目,查看swaggerui.html界面

這是我開(kāi)發(fā)項(xiàng)目的地址,訪問(wèn)后可以看到swaggerui.html

http://localhost:9527/swagger-ui.html

image-20220813205539273

image-20220813212309718

點(diǎn)擊try it out可以輸入對(duì)應(yīng)的參數(shù)查看返回結(jié)果

四,編寫(xiě)SwaggerConfig配置文件

@EnableSwagger2
@Configuration
public class SwaggerConfig {
    @Autowired
    private ApplicationContext applicationContext;

    private Contact contact = new Contact("NIUA","localhost:8080/swagger-ui.html", "1053288979@qq.com");

    @Bean
    public Docket createRestApi() {
        ServletContext servletContext = applicationContext.getBean(ServletContext.class);
        return new Docket(DocumentationType.SWAGGER_2)
                .select()
                .apis(RequestHandlerSelectors.any())
                .paths(Predicates.not(regex("/error.*")))
                .build()
                .apiInfo(apiInfo());
    }

    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("平臺(tái)接口 v1.0")
                .description("平臺(tái)接口")
                .contact(contact)
                .version("1.0")
                .build();
    }
}
@Bean
    public Docket createRestApi() {
        ServletContext servletContext = applicationContext.getBean(ServletContext.class);
        return new Docket(DocumentationType.SWAGGER_2)
                .select()
                .apis(RequestHandlerSelectors.any())
                .paths(Predicates.not(regex("/error.*")))
                .build()
                .apiInfo(apiInfo());
    }

創(chuàng)建Docker類(lèi)型的對(duì)象,并使用spring容器管理。Docker是Swagger中的全局配置對(duì)象

DocumentationType.SWAGGER_2:給Docket一個(gè)類(lèi)對(duì)象,知道是那一個(gè)版本的

apiInfo():API文檔的描述信息,參數(shù)是一個(gè)ApiInfo類(lèi)對(duì)象,使用bulid()構(gòu)建器來(lái)創(chuàng)建

private ApiInfo apiInfo() {
       return new ApiInfoBuilder()
               .title("平臺(tái)接口 v1.0")
               .description("平臺(tái)接口")
               .contact(contact)
               .version("1.0")
               .build();
   }

contact():配置swagger文檔的主體內(nèi)容,里面填寫(xiě)也是一個(gè)類(lèi)對(duì)象,類(lèi)對(duì)象最多可以三個(gè)參數(shù),發(fā)布者名稱,文檔發(fā)布者的網(wǎng)站url地址(企業(yè)網(wǎng)站),文檔發(fā)布者的電子郵箱地址

private Contact contact = new Contact("NIUA","localhost:8080/swagger-ui.html", "1053288979@qq.com");

title():標(biāo)題 description():描述信息 .version():版本信息

對(duì)應(yīng)如下內(nèi)容

image-20220813230037907

select():獲取Docker中的選擇器,返回ApiSelectorBuilder。構(gòu)建選擇器。如掃描什么包的注解

apis():后面是RequestHandlerSelectors的類(lèi)下的(Predicate)規(guī)則,規(guī)定掃描那些包的注解,默認(rèn)是啟動(dòng)類(lèi)及其子包下的注解

RequestHandlerSelectors類(lèi)下有幾個(gè)靜態(tài)方法(舉例三個(gè))

basePackage():后面填寫(xiě)包名的具體地址,會(huì)掃描改包及其子包的注解

docker.apis(RequestHandlerSelectors.basePackage("com.xxx"))

any():為任何接口生成API文檔

none():任何接口都不生成接口文檔

path():使用正則表達(dá)式,約束生成Api文檔的路徑地址,后面填寫(xiě)過(guò)濾(通過(guò))的路徑

//過(guò)濾掉admin路徑下的所有頁(yè)面
.paths(Predicates.not(PathSelectors.regex("/admin/.*")))
//過(guò)濾掉所有error或error.*頁(yè)面
.paths(Predicates.not(PathSelectors.regex("/error.*")))

//所有error或error.*頁(yè)面或者admin路徑下的所有頁(yè)面都支持(or任意滿足起一就通過(guò))
.paths(Predicates.or(PathSelectors.regex("/error.*"),PathSelectors.regex("/admin/.*")))

五:Swagger支持自定義注解

這里沒(méi)有提及,感興趣可以自己搜索(留個(gè)位置,日后用到了補(bǔ)充)

六:Swagger2常用注解

@Api(常用)

作用:@Api是類(lèi)上注解??刂普麄€(gè)類(lèi)生成接口信息的內(nèi)容

屬性

tags:類(lèi)的名稱。可以有多個(gè)值,多個(gè)值表示多個(gè)副本(別名),有幾個(gè)別名在swaggerui視圖上顯示幾個(gè)控制器訪問(wèn)菜單

description:描述,已過(guò)時(shí)

image-20220814000715865

@ApiOperation

作用:@ApiOperation是方法上注解,描述方法的相關(guān)消息

屬性

value:方法描述作用

notes:方法筆記(展開(kāi)描述)

image-20220814001241700

@ApiParm

作用:@ApiParm是方法參數(shù)的注解。描述該參數(shù)

屬性

name:參數(shù)名稱

value:描述參數(shù)作用

required:值為boolean類(lèi)型,表示該參數(shù)是否為必要參數(shù),默認(rèn)為false

@ApiIgnore

作用:@ApiParm是方法或者參數(shù)的注解。忽略注解的方法或者參數(shù),不生成幫助文檔

image-20220814002442974

@ApiImplicitParam(常用)

作用@ApiParm是作用于類(lèi)上方法,用來(lái)描述方法參數(shù)的注解。

屬性

name:參數(shù)名稱,和方法的參數(shù)一致

value:參數(shù)具體描述

required:值為boolean類(lèi)型,表示該參數(shù)是否為必要參數(shù),默認(rèn)為false

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

paramType="字符串"
paramType = "header"

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

dataType = "string"  //字符串?dāng)?shù)據(jù)
dataType = "鍵值對(duì)" 

image-20220814002946956

@ApiImplicitParams

后面跟@ApiImplicitParam的集合,一般用于多個(gè)參數(shù)的描述

@ApiImplicitParams({@ApiImplicitParam(name = "Authorization", value = "Authorization token", required = true, dataType = "string", paramType = "header")})

@ApiModel(常用)

作用@ApiModel是作用于實(shí)體類(lèi)上,描述一個(gè)實(shí)體類(lèi)型,整個(gè)實(shí)體類(lèi)型如果成為任何一個(gè)生成api幫助文檔的返回對(duì)象的時(shí)候,該注解被解析

屬性

value:實(shí)體類(lèi)名稱

description:實(shí)體類(lèi)描述

@ApiModelProperty(常用)

作用@ApiModel是作用于實(shí)體類(lèi)的屬性上,描述實(shí)體類(lèi)屬性

屬性

value:實(shí)體屬性描述

name:實(shí)體類(lèi)屬性名字,與屬性名一致

總結(jié)

到此這篇關(guān)于SpringBoot項(xiàng)目中使用Swagger2及注解解釋的文章就介紹到這了,更多相關(guān)SpringBoot使用Swagger2內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java并發(fā)編程信號(hào)量Semapher

    Java并發(fā)編程信號(hào)量Semapher

    這篇文章主要介紹了Java并發(fā)編程信號(hào)量Semapher,Semapher信號(hào)量也是Java中的一個(gè)同步器,下文關(guān)于信號(hào)量Semapher的更多內(nèi)容介紹,需要的小伙伴可以參考下面文章
    2022-04-04
  • Java獲取UTC時(shí)間的方法詳解

    Java獲取UTC時(shí)間的方法詳解

    這篇文章主要介紹了Java獲取UTC時(shí)間的方法,結(jié)合具體實(shí)例形式詳細(xì)分析了Java針對(duì)時(shí)區(qū)、本地時(shí)間、時(shí)間偏移量等相關(guān)操作技巧,需要的朋友可以參考下
    2017-04-04
  • mybatis如何使用truncate清空表

    mybatis如何使用truncate清空表

    這篇文章主要介紹了mybatis如何使用truncate清空表,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • Java定時(shí)器例子_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    Java定時(shí)器例子_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    本文給大家分享了java定時(shí)器例子,非常不錯(cuò),具有參考借鑒價(jià)值,需要的的朋友參考下吧
    2017-05-05
  • Spring事務(wù)管理原理及方法詳解

    Spring事務(wù)管理原理及方法詳解

    這篇文章主要介紹了Spring事務(wù)管理原理及方法詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-01-01
  • Java異常之圖書(shū)管理系統(tǒng)

    Java異常之圖書(shū)管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了Java異常之圖書(shū)管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-11-11
  • 使用Springboot實(shí)現(xiàn)OAuth服務(wù)的示例詳解

    使用Springboot實(shí)現(xiàn)OAuth服務(wù)的示例詳解

    OAuth(Open Authorization)是一個(gè)開(kāi)放標(biāo)準(zhǔn),用于授權(quán)第三方應(yīng)用程序訪問(wèn)用戶資源,而不需要共享用戶憑證。本文主要介紹了如何使用Springboot實(shí)現(xiàn)一個(gè)OAuth服務(wù),需要的可以參考一下
    2023-05-05
  • Java使用Arrays.sort()方法實(shí)現(xiàn)給對(duì)象排序

    Java使用Arrays.sort()方法實(shí)現(xiàn)給對(duì)象排序

    這篇文章主要介紹了Java使用Arrays.sort()方法實(shí)現(xiàn)給對(duì)象排序,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • Java map存放數(shù)組并取出值代碼詳解

    Java map存放數(shù)組并取出值代碼詳解

    這篇文章主要介紹了Java map存放數(shù)組并取出值代碼詳解的相關(guān)內(nèi)容,小編覺(jué)得挺不錯(cuò)的,這里給大家分享一下,需要的朋友可以參考。
    2017-10-10
  • 談?wù)剬?duì)Java中的volatile的理解

    談?wù)剬?duì)Java中的volatile的理解

    這篇文章主要介紹了對(duì)Java中的volatile的理解,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-11-11

最新評(píng)論

广德县| 丰顺县| 河津市| 交城县| 迁西县| 石家庄市| 新泰市| 双柏县| 无棣县| 黄石市| 白山市| 宁国市| 旬邑县| 西华县| 枣强县| 古蔺县| 邮箱| 英超| 四川省| 呼伦贝尔市| 蓝田县| 徐汇区| 张北县| 沭阳县| 荆门市| 贞丰县| 灵台县| 临澧县| 德江县| 富川| 广州市| 大邑县| 呼图壁县| 精河县| 盐山县| 阿荣旗| 禹城市| 榆中县| 友谊县| 上思县| 西乌|