1. 程式人生 > >SpringMVC整合Swagger2,初嘗試和遇到的相關問題

SpringMVC整合Swagger2,初嘗試和遇到的相關問題

本文章更新頁請至:http://blog.csdn.net/MikeLC7/article/details/75088123

之前專案的介面文件都是手動編寫Word文件來做,製作成本較高,並且在進行版本迭代的時候進行標註和說明不是很方便,後來發現Swagger之後進行了簡單的操作。
截止目前還未深度使用,本文僅記錄初次使用Swagger的過程和遇到的問題,後續進行補充。
前言:
當前專案使用SpringMVC,整合Swagger2


Step1:
新增依賴包

  <textarea readonly="readonly" name="code" class="java"> 
	<!--springfox 相關依賴 start-->
	<dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.6.1</version>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>2.6.1</version>
        </dependency>
	<!--springfox 相關依賴 end-->
        <!-- 映入JSON -->  
        <dependency>
	      <groupId>com.fasterxml.jackson.core</groupId>
	      <artifactId>jackson-core</artifactId>
	      <version>2.6.5</version>
        </dependency>
	<dependency>
	      <groupId>com.fasterxml.jackson.core</groupId>
	      <artifactId>jackson-databind</artifactId>
	      <version>2.6.5</version>
	      <!-- <scope>provided</scope> -->
	 </dependency>
	 <!-- 映入JSON -->
		</textarea>


Step2:
新增Spring配置檔案中的相關配置:

<textarea readonly="readonly" name="code" class="java"> 
	<!-- swagger start-->
	<!-- 啟動註解 -->
        <mvc:annotation-driven />
        <!-- 配置Swagger相關靜態資源 -->
	<mvc:resources location="classpath:/META-INF/resources/" mapping="swagger-ui.html"/>
	<mvc:resources location="classpath:/META-INF/resources/webjars/" mapping="/webjars/**"/>
	<!-- 引用Swagger 預設配置 -->
 	<bean class="springfox.documentation.swagger2.configuration.Swagger2DocumentationConfiguration" id="swagger2Config"/> 
	<!-- 新增Swagger2 掃描目錄 -->
	<context:component-scan base-package="com.train.action" ></context:component-scan>
        <!-- swagger end -->
        </textarea>


備註:本次使用的Swagger相關配置是Swagger的預設配置,也可以通過

<textarea readonly="readonly" name="code" class="XML"> 
<bean class="com.swagger.doc.MySwaggerConfig" />
</textarea>


已上的方式自定義swagger配置類並配置bean。

step3:
確定Spring的url-pattern對映關係為 /:

  <textarea readonly="readonly" name="code" class="XML"> 
  <!-- Spring MVC servlet -->  
  <servlet>
    <servlet-name>spring</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>classpath:/config/spring-mvc.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
    <async-supported>true</async-supported>
  </servlet>
  <servlet-mapping>
    <servlet-name>spring</servlet-name>
    <url-pattern>/</url-pattern>
  </servlet-mapping> 
  </textarea>


備註:spring的對映一定要是/,否則swagger2中需要引入相關靜態資源可能會因為找不到而導致頁面載入失敗。
例如:
http://localhost/swagger-resources/configuration/ui Failed to load resource: the server responded with a status of 404 (Not Found)


以上為本次記錄的全部內容,註解相關API請移步官網參考,因沒有正式深度使用,記錄的內容較為粗淺,後續正式使用後會進行更新。


相關推薦

SpringMVC整合Swagger2嘗試遇到的相關問題

本文章更新頁請至:http://blog.csdn.net/MikeLC7/article/details/75088123 之前專案的介面文件都是手動編寫Word文件來做,製作成本較高,並且在進行版本迭代的時候進行標註和說明不是很方便,後來發現Swagger之後進行了簡

轉載:SpringBoot非官方教程 | 第十一篇:springboot整合swagger2構建優雅的Restful API

swagger,中文“拽”的意思。它是一個功能強大的api框架,它的整合非常簡單,不僅提供了線上文件的查閱,而且還提供了線上文件的測試。另外swagger很容易構建restful風格的api,簡單優雅帥氣,正如它的名字。 一、引入依賴 <depend

《深入理解Spring Cloud與微服務構建》學習筆記(七)~SpringBoot 整合 Swagger2搭建線上api文件

一、在專案 pom.xml 引入 swagger 依賴 springfox-swagger2 和 springfox-swagger-ui 如: <dependency> <groupId>io.springfox</groupId>

SpringBoot整合swagger2生成API文件

1、新增依賴 <!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 --> <dependency>

springboot整合swagger2lombok

一.瞭解swagger2和lombok (1)Swagger 是一個規範和完整的框架,用於生成、描述、呼叫和視覺化 RESTful 風格的 Web 服務。總體目標是使客戶端和檔案系統作為伺服器以同樣的速度來更新。檔案的方法,引數和模型緊密整合到伺服器端的程式碼,允許AP

springboot 整合mybatismapper介面對應的mapper對映檔案放在同一個包下的配置

一、springboot整合mybatis後,需要進行幾個步驟的配置: 1、mapper包下的mapper介面都需要新增@Mapper註解。 2、啟動類上面新增@MapperScan(basepackages={"com.web.mapper"})註解。 3、需要在po

Spring Boot整合swagger2搭建Restful API線上文件

        Swagger,中文“拽”的意思,它是一個強大的線上API文件的框架,目前它的版本是2.x,所以稱為“swagger2”。swagger2提供了線上文件的查閱和測試功能。利用Swagger2很容易構建RESTf

RabbitMQ與SpringMVC整合並實現傳送訊息接收訊息(持久化)方案二

   RabbitMQ的大約的介紹,上一篇已經有介紹了,這篇不介紹,直接描述RabbitMQ與SpringMVC整合並實現傳送訊息和接收訊息(持久化)。  使用了Spring-rabbit 傳送訊息和接收訊息,我們使用的Maven來管理Jar包,在Maven的pom.xml

【Java】SpringMVC整合mybatis 連線池c3p0druid分別實驗

1.pom.xmlSpring框架包 mybatis包 AOP包 aspectj包 aopalliance包<!-- mysql start --> <dependency> <groupId>mysql</groupId

SpringMVC整合Quartz實現定時任務Spring自帶Task定時任務

在java中我們常用Timer和TimerTask實現定時功能,而在JavaEE專案中可以使用Spring整合Quartz定時器、Spring的Task任務。相比於Spring自帶的任務,Quartz非

Zuul中整合Swagger2實現對源服務API測試

前言 我們知道,Swagger2整合到專案中,可以非常方便地進行介面測試,是前後端對接效率提高。現在,我們可以在Zuul中整合Swagger2,通過Zuul配置檔案配置的對映路徑,來生成源服務介面的測

springmvc整合freemarker使用ftl檔案

0、需要一個已經配置好的springmvc專案,這裡就不多費口舌了 1、引入jar包:maven,一說還需要引入spring-context-support包 <dependency> <groupId>org.freemar

springMVC整合ehcache快取失敗

這兩天在用springMVC整合ehcache,把所有的東西都配置完成之後,發現@Cacheable這個放在Service上的註解根本就不好使,於是乎,用junit測試Dao發現放在Dao上的@Cacheable是好使的,也沒再測試Service因為肯定也是好用的。這樣肯定

SpringMVC整合Swagger2

1 建立基本SpringMVC工程 1.1 建立SpringMVC Maven工程 web.xml <servlet> <servlet-name>spring</servlet-name>

SpringMVC整合quartz實現定時任務

首先,我用的是maven下載jar包 <dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz</artif

springmvc整合cas並解決前後端分離情況

  1.最近專案需要整合已經存在的cas系統。 但是目前已整合的系統都是jsp。而我們專案是前後端分離開發(偽),沒有

Dart學習筆記(一、)——重要概念常見型別變數相關內容

一、dart語言中的重要概念 您可以放在變數中的所有內容都是一個物件,每個物件都是一個類的例項。 偶數,函式和null都是物件。 所有物件都從Object類繼承. 儘管Dart是強型別的,但型別註釋是可選的,因為Dart可以推斷型別。如果明確不需要說明型

Swagger2springMVC整合測試

inter encoding src mybatis project constrain aop servle efault 對Swagger寫個獨立的工程測試,方便後續進行工程的整合,這裏做一下記錄 1.pom.xml--依賴的的包 1 <project xm

03、Swagger2Springmvc整合詳細記錄(爬坑記錄)

component 效果 ges context tex ron 問題 package amp 時間 內容 備註 2018年6月18日 基本使用 spirngmvc整合swagger2 開始之前這個系列博文基本是,在項目的使用中一些模塊的內容記錄,但是

IDEA開發環境中SpringMVCSwagger2整合。完成restful風格的API開發

專案結構Swapper2在POM中的依賴<!-- springfox依賴 --> <dependency> <groupId>io.springfox</groupId> <artifactId>sp