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

關(guān)于使用swagger整合springMVC的方法

 更新時(shí)間:2023年04月26日 09:48:51   作者:wangjun5159  
在平時(shí)開發(fā)寫接口文檔的工作時(shí),一般都是word文檔,帶來書寫麻煩、維護(hù)麻煩的問題,比如改了源代碼忘了更新文檔、解釋不明確帶來歧義、無(wú)法在線嘗試等等,swagger可以有效解決這類問題,需要的朋友可以參考下

前文:

在日常工作中,開發(fā)人員經(jīng)常會(huì)遇到寫接口文檔的工作,一般都是word文檔,帶來書寫麻煩、維護(hù)麻煩的問題,比如改了源代碼忘了更新文檔、解釋不明確帶來歧義、無(wú)法在線嘗試等等。swagger就是為了解決這些問題而產(chǎn)生的。這是官方的例子,截圖如下

swagger原理

后臺(tái):后端部分與java集成,后最終會(huì)產(chǎn)生一個(gè)json文件。

前臺(tái):前臺(tái)部分就是html、css、js文件,js利用后臺(tái)產(chǎn)生的json文件構(gòu)造api;

前臺(tái)配置:

https://github.com/swagger-api/swagger-ui 下載zip包,解壓后,將dist文件夾下的所有內(nèi)容copy到,java web project的webapp下,比如,

maven依賴:

<repositories>
    <repository>
      <id>jcenter-release</id>
      <name>jcenter</name>
      <url>http://oss.jfrog.org/artifactory/oss-release-local/</url>
    </repository>
</repositories>
 
<dependency>
    <groupId>com.mangofactory</groupId>
    <artifactId>swagger-springmvc</artifactId>
    <version>1.0.1</version>
</dependency>

后臺(tái)配置:

途徑一:

在spring的applicationcontext.xml文件中,添加配置

 <mvc:annotation-driven/>
    <bean class="com.mangofactory.swagger.configuration.SpringSwaggerConfig" />
    <!-- 對(duì)包中的所有類進(jìn)行掃描,以完成Bean創(chuàng)建和自動(dòng)依賴注入的功能 稍后會(huì)創(chuàng)建該包:webmvct.cmd -->    
	<context:component-scan base-package="webmvct.cmd"/>

解釋:swagger會(huì)掃描 base-package包下的所有類,生成api文檔

將docapi文件下的index.html文件,url改為本工程的路徑,如下圖,

截止到現(xiàn)在,最簡(jiǎn)單的swagger配置已經(jīng)完成。訪問 //localhost:8080/hi/docapi/index.html 就可以看到效果。

途徑二:

如果想進(jìn)一步的定制,比如只掃描某個(gè)包下的某些路徑,那么就需要用到定制類,途徑二是基于途徑一在功能上的擴(kuò)展,所以要想達(dá)到定制效果首先將途徑一配置好。

創(chuàng)建swaggerspringconfig定制類,比如

@Configuration
@EnableSwagger //Loads the spring beans required by the framework
@ComponentScan("com.test")
public class MySwaggerConfig {
	private SpringSwaggerConfig springSwaggerConfig;
 
	   /**
	    * Required to autowire SpringSwaggerConfig
	    */
	   @Autowired
	   public void setSpringSwaggerConfig(SpringSwaggerConfig springSwaggerConfig) {
	      this.springSwaggerConfig = springSwaggerConfig;
	   }
 
	   /**
	    * Every SwaggerSpringMvcPlugin bean is picked up by the swagger-mvc framework - allowing for multiple
	    * swagger groups i.e. same code base multiple swagger resource listings.
	    */
	   @Bean
	   public SwaggerSpringMvcPlugin customImplementation(){
	      return new SwaggerSpringMvcPlugin(this.springSwaggerConfig)
	      .includePatterns(".*store.*");
	      
	   }
 
}

@componentscan,將com.test包下的類也包含在內(nèi)進(jìn)行掃描;

customImplementation方法的includePatterns可以進(jìn)行過濾,只include含有store的路徑

controller類的樣例:

@Api(value="/store",description="商店")
@Controller
@RequestMapping("/store")
public class StoreController {
	
	
	@RequestMapping(value = "/{storeid}",method=RequestMethod.GET)
	@ResponseBody
	@ApiOperation(value="獲取商店信息",notes="通過商店id獲取商店信息")
	public Store getStore(String storeid){
		return new Store();
	}
	
	@ApiOperation(value="獲取商店信息",notes="通過商店name獲取商店信息")
	@ResponseBody
	@RequestMapping(value = "/{storename}",method=RequestMethod.POST)
	public Store getStore2(String storeid){
		return new Store();
	}
}

@api,用在類上,用于解釋整個(gè)類。

@apioperation,用于方法上,value是籠統(tǒng)的介紹方法作用,notes是詳細(xì)的說明方法作用

最終效果圖:

以上配置參考:

swagger整合spring mvc的doc點(diǎn)擊打開鏈接

swagger注解說明 點(diǎn)擊打開鏈接

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

相關(guān)文章

  • java數(shù)據(jù)結(jié)構(gòu)基礎(chǔ):線性表

    java數(shù)據(jù)結(jié)構(gòu)基礎(chǔ):線性表

    這篇文章主要介紹了Java的數(shù)據(jù)解構(gòu)基礎(chǔ),希望對(duì)廣大的程序愛好者有所幫助,同時(shí)祝大家有一個(gè)好成績(jī),需要的朋友可以參考下,希望能給你帶來幫助
    2021-07-07
  • 分析設(shè)計(jì)模式之模板方法Java實(shí)現(xiàn)

    分析設(shè)計(jì)模式之模板方法Java實(shí)現(xiàn)

    所謂模板方法模式,就是一個(gè)對(duì)模板的應(yīng)用,就好比老師出試卷,每個(gè)人的試卷都是一樣的,這個(gè)原版試卷就是一個(gè)模板,可每個(gè)人寫在試卷上的答案都是不一樣的,這就是模板方法模式。它的主要用途在于將不變的行為從子類搬到超類,去除了子類中的重復(fù)代碼
    2021-06-06
  • java多線程開啟的三種方式你知道嗎

    java多線程開啟的三種方式你知道嗎

    這篇文章主要為大家詳細(xì)介紹了java多線程開啟的三種方式,使用數(shù)據(jù)庫(kù),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下<BR>
    2022-02-02
  • SpringBoot項(xiàng)目集成依賴Mybatis步驟

    SpringBoot項(xiàng)目集成依賴Mybatis步驟

    在本篇文章中小編給大家分享了關(guān)于SpringBoot項(xiàng)目如何集成依賴Mybatis的相關(guān)知識(shí)點(diǎn)內(nèi)容,有興趣的朋友們學(xué)習(xí)下。
    2019-06-06
  • 詳解SpringBoot+Lucene案例介紹

    詳解SpringBoot+Lucene案例介紹

    這篇文章主要介紹了詳解SpringBoot+Lucene案例介紹,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • SpringMVC 使用JSR-303進(jìn)行校驗(yàn) @Valid示例

    SpringMVC 使用JSR-303進(jìn)行校驗(yàn) @Valid示例

    本篇文章主要介紹了SpringMVC 使用JSR-303進(jìn)行校驗(yàn) @Valid示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-02-02
  • 你真的了解java單例模式了嗎?

    你真的了解java單例模式了嗎?

    這篇文章主要介紹了你真的了解java單例模式了嗎?實(shí)際上單例模式有著好幾個(gè)變種,并且多線程中涉及到線程安全問題,,需要的朋友可以參考下
    2019-06-06
  • rabbitmq結(jié)合spring實(shí)現(xiàn)消息隊(duì)列優(yōu)先級(jí)的方法

    rabbitmq結(jié)合spring實(shí)現(xiàn)消息隊(duì)列優(yōu)先級(jí)的方法

    本篇文章主要介紹了rabbitmq結(jié)合spring實(shí)現(xiàn)消息隊(duì)列優(yōu)先級(jí)的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-02-02
  • 詳解如何把cmd黑窗口把java文件打包成jar

    詳解如何把cmd黑窗口把java文件打包成jar

    本文主要介紹了如何把cmd黑窗口把java文件打包成jar,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • Flutter 通過Clipper實(shí)現(xiàn)各種自定義形狀的示例代碼

    Flutter 通過Clipper實(shí)現(xiàn)各種自定義形狀的示例代碼

    這篇文章主要介紹了Flutter 通過Clipper實(shí)現(xiàn)各種自定義形狀的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12

最新評(píng)論