欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

Springboot集成Swagger2以及常見配置的過程是怎樣的

本篇文章給大家分享的是有關(guān)Springboot集成Swagger2以及常見配置的過程是怎樣的,小編覺得挺實用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

成都創(chuàng)新互聯(lián)長期為數(shù)千家客戶提供的網(wǎng)站建設(shè)服務(wù),團隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為永濟企業(yè)提供專業(yè)的成都網(wǎng)站制作、成都網(wǎng)站設(shè)計,永濟網(wǎng)站改版等技術(shù)服務(wù)。擁有10年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。

 這種整合的文章確實已經(jīng)爛大街了,寫他一方面是補充我的springboot系列,另一方面確實還有一部分小伙伴沒用過。最重要的是,如果你忘記了這種整合的代碼??梢噪S時查閱。

前言

現(xiàn)在的開發(fā)基本上都是前后端分離,前后端交互都是通過API文檔。有了API文檔大家各自開發(fā),互不干擾。

1、傳統(tǒng)方式

傳統(tǒng)方式是文檔設(shè)計好之后,分別發(fā)給前端和后端人員。這樣有個缺點,接口信息一旦變化,文檔就需要重新發(fā)送給前后端人員。無法做到實時。所以浪費時間和精力。

2、swagger方式

我們的后臺應(yīng)用集成了swagger之后,會自動暴露出我們的接口,而且這個接口形式還是通過restful風(fēng)格發(fā)布的。一旦后端的接口有變化,會立刻顯示出來,因此極大地提高了效率。

OK,基本上一句話就可以總結(jié)他的好處,那就是后端寫的api文檔可以通過swagger的形式實時的發(fā)布出來,供前端人員查看。

3、其他方式

swagger的頁面說實話長得不好看,也有一些其他的方案,不是有很多bug,就是收費。目前swagger是使用的最多的。我目前也正在做這個樣的開源項目,基于swagger做出類似于其他方案的頁面,而且功能更加的強大。

一、代碼整合

前提條件是要新建一個springboot項目。這點就不演示了。

第一步:添加依賴

<dependency>     <groupId>io.springfox</groupId>     <artifactId>springfox-swagger2</artifactId>     <version>2.9.2</version> </dependency> <dependency>     <groupId>io.springfox</groupId>     <artifactId>springfox-swagger-ui</artifactId>     <version>2.9.2</version> </dependency>

2.9.2的版本是用的最多的,具體的可以直接去maven的官網(wǎng)去搜索,找一個使用量最多的版本即可。

第二步:配置

新建config包,創(chuàng)建SwaggerConfig類

@EnableSwagger2 @Configuration public class Swagger2Config {     @Bean     public Docket createRestApi() {         return new Docket(DocumentationType.SWAGGER_2)              .apiInfo(apiInfo())              .select()              //為當(dāng)前包路徑,控制器類包              .apis(RequestHandlerSelectors.basePackage("com.fdd.controller"))             .paths(PathSelectors.any())              .build();     }     //構(gòu)建 api文檔的詳細(xì)信息函數(shù)     private ApiInfo apiInfo() {         return new ApiInfoBuilder()             //頁面標(biāo)題            .title("XX平臺API接口文檔")             //創(chuàng)建人            .contact(new Contact("馮冬冬", "http://www.javachat.cc",                    "3049352171@qq.com"))            //版本號           .version("1.0")            //描述           .description("系統(tǒng)API描述")           .build();     }

這里的配置也比較簡單。這里有很多選項供我們?nèi)ヅ渲谩H绻覀兊捻椖坑卸鄠€組,只需要創(chuàng)建多個Docket即可。這時候掃描的包換成每個組的包路徑。

第三步:controller類中配置

新建一個controller包,然后創(chuàng)建HelloController類

@Api("Hello控制類") @RestController  public class HelloController {     @GetMapping(value = "/user")     public User getUser(){         return new User("愚公要移山","123456");     }     @ApiOperation("可以指定參數(shù)的API")     @PostMapping("/param")     public String hello2(@ApiParam("用戶名") String name){         return "hello" + name;     } }

這里我們可以看出,使用注解就可以對這個類、方法、字段等等進(jìn)行解釋說明。其他的字段還有很多,在使用的時候會有相應(yīng)的提示,可以自己試一遍:

Springboot集成Swagger2以及常見配置的過程是怎樣的

第四步:查看效果

訪問:http://127.0.0.1:8080/swagger-ui.html即可。

OK,到這一步基本上就集成進(jìn)來了。下面說一下可能會遇到的配置。

三、常見其他問題

1、Spring Security - 配置免認(rèn)證訪問

有時候我們的Springboot集成了SpringSecurity,這時候如果訪問swagger的地址會自動跳轉(zhuǎn)到登錄頁面。這是因為SpringSecurity對其進(jìn)行了攔截。為此我們只需要在我們的SpringSecurity配置一下進(jìn)行放行即可。

Springboot集成Swagger2以及常見配置的過程是怎樣的

現(xiàn)在配置一下,進(jìn)行放行。在config包下新建一個SpringSecurityConfig類

@Configuration @EnableWebSecurity public class SpringSecurityConfig extends WebSecurityConfigurerAdapter {     @Override     protected void configure(HttpSecurity http) throws Exception {         http                 .authorizeRequests()                 .antMatchers("/swagger-ui.html").permitAll()                 .antMatchers("/webjars/**").permitAll()                 .antMatchers("/swagger-resources/**").permitAll()                 .antMatchers("/v2/*").permitAll()                 .antMatchers("/csrf").permitAll()                 .antMatchers("/").permitAll()                 .anyRequest().authenticated()                 .and()                 .formLogin()         ;     } }

此時就可以正常的訪問了。

2、為swagger設(shè)置jwt

這種方式比較簡單,只需要一步即可。修改我們的swaggerConfig類即可。

@EnableSwagger2 @Configuration public class Swagger2Config {     @Bean     public Docket api() {         return new Docket(DocumentationType.SWAGGER_2)                 .apiInfo(apiInfo())                 .securityContexts(Arrays.asList(securityContext()))                 .securitySchemes(Arrays.asList(apiKey()))                 .select()                 .apis(RequestHandlerSelectors.any())                 .paths(PathSelectors.any())                 .build();     }     //構(gòu)建 api文檔的詳細(xì)信息函數(shù)     private ApiInfo apiInfo() {         return new ApiInfoBuilder()                 //頁面標(biāo)題                 .title("XX平臺API接口文檔")                 //創(chuàng)建人                 .contact(new Contact("馮冬冬", "http://www.javachat.cc",                         "3049352171@qq.com"))                 //版本號                 .version("1.0")                 //描述                 .description("系統(tǒng)API描述")                 .build();     }     private ApiKey apiKey() {         return new ApiKey("JWT", "Authorization", "header");     }     private SecurityContext securityContext() {         return SecurityContext.builder().securityReferences(defaultAuth()).build();     }      private List<SecurityReference> defaultAuth() {         AuthorizationScope authorizationScope           = new AuthorizationScope("global", "accessEverything");         AuthorizationScope[] authorizationScopes = new AuthorizationScope[1];         authorizationScopes[0] = authorizationScope;         return Arrays.asList(new SecurityReference("JWT", authorizationScopes));     }  }

加了一些token驗證的代碼,比較簡單,關(guān)于JWT的東西,可以私下了解。這里不贅述了。

3、隱藏Endpoint

有時候自己寫的controller,或者是controller里面的接口方法不想讓前端人員看到,我們可以隱藏即可。

第一:隱藏整個controller

@ApiIgnore @RestController public class MyController {     //方法 }

第二:隱藏某個接口方法1

@ApiIgnore @ApiOperation(value = "描述信息") @GetMapping("/getAuthor") public String getAuthor() {     return "愚公要移山"; }

第三:隱藏某個接口方法2

@ApiOperation(value = "描述信息", hidden = true) @GetMapping("/get") public LocalDate getDate() {     return LocalDate.now(); }

OK,很多配置基本上就到這了。

以上就是Springboot集成Swagger2以及常見配置的過程是怎樣的,小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降?。希望你能通過這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

文章題目:Springboot集成Swagger2以及常見配置的過程是怎樣的
當(dāng)前URL:http://aaarwkj.com/article14/jpddde.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計公司、ChatGPT、用戶體驗、微信小程序、搜索引擎優(yōu)化、響應(yīng)式網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)
亚洲成人永久免费精品| 亚洲天堂国产中文在线| 欧美电影剧情av在线| 成人欧美黑人一区二区| 日韩一二三四区免费观看| 亚洲性视频日韩性视频| 日本色电影一区二区三区| 亚洲熟女乱妇爽到高潮| 和富婆啪啪一区二区免费看| 国产精品女人毛片在线看| 婷婷激情综合亚洲五月色| 蜜臀av一区二区在线观看| 久久日韩制服丝袜人妻| 亚洲av男人电影天堂| 精品国产av色一区二区| 香蕉久草官网视频观看| 久久亚洲av电影网站| 男人天堂一区二区av| 国产激情福利一区二区| 丰满人妻大屁一区二区| 男人天堂av网在线观看| 国产日韩视频一区二区| 很黄很刺激的视频中文字幕| 日韩欧美二区三区在线| 思思久久96热在精品国产| 亚洲av免费一区二区三区| 在线国产丝袜自拍观看| 人妻久久一区二区三区精品99| 好看的中文字幕人妻少妇| 人人看男人的天堂东京| 欧美国产精品一区二区免费| 国产精品中文字幕第一页| 免费在线一区二区av| 熟女精品国产一区二区三区| 日韩一区二区三区av观看| 成人性生交大片免费看久久| 久久亚洲天堂色图不卡| 亚洲欧美日韩国产一区| 人妻中文字幕一区二区三| 国产一区二区在线不卡播放| 国产高清自拍视频在线一区|