1. 程式人生 > >基於idea15的SpringMVC整合Swagger(Maven篇)

基於idea15的SpringMVC整合Swagger(Maven篇)

對於像我這種web小白,想要整合這個功能又不懂maven走了很多彎路,搜尋了很多資料,結果還是搞不得不清不楚,最後還是被我搞明白了。

1.    首先建立maven專案。new project選到maven,勾選create from archetype,然後在下面的專案列找到

org.apache.maven.archetype:maven-archetype-webapp

然後點next,專案名,包名字,一直next到finsh就可以了,在建立的專案中包含一個pom.xml的配置檔案。如果本地沒有maven的資源庫,idea會馬上進行自動下載,並且會提示問是否自動載入這些資源,我們選enable就可以了。如果沒有選,需要手動完成,則右擊pom.xml,找到maven->Reimport,就可以重新載入資源。

2.    配置pom.xml

2.1  配置springmvc的資源庫

定義springmvc版本的屬性,方便以後修改版本資訊

<properties>
   <springmvc.version>4.2.5.RELEASE<springmvc.version>
</properties>

新增一對<dependencies>標籤,並且在標籤內部加入

<dependency>
    <groupId>org.springframework</groupId>
   <artifactId>spring-webmvc</artifactId>
    <version>${springmvc.version}</version>
 </dependency>
 <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-orm</artifactId>
    <version>${springmvc.version}</version>
  </dependency>
  <dependency>
     <groupId>org.springframework</groupId>
    <artifactId>spring-test</artifactId>
    <version>${springmvc.version}</version>
     <type>jar</type>
     <scope>test</scope>
</dependency>
<dependency>
     <groupId>org.slf4j</groupId>
    <artifactId>slf4j-log4j12</artifactId>
     <version>1.7.12</version>
</dependency>
<dependency>
     <groupId>commons-io</groupId>
     <artifactId>commons-io</artifactId>
     <version>2.0.1</version>
</dependency>

當然,如果需要用httprequest這個物件不能少了配置tomcat

<dependency>
   <groupId>org.apache.tomcat</groupId>
   <artifactId>tomcat-servlet-api</artifactId>
    <version>7.0.8</version>
    <scope>provided</scope>
</dependency>

2.2  配置mybatis

<dependency>
     <groupId>org.mybatis</groupId>
     <artifactId>mybatis</artifactId>
     <version>3.3.0</version>
 </dependency>
 <dependency>
     <groupId>org.mybatis</groupId>
     <artifactId>mybatis-spring</artifactId>
     <version>1.3.0</version>
 </dependency>
   
 <dependency>
     <groupId>mysql</groupId>
     <artifactId>mysql-connector-java</artifactId>
     <version>5.1.38</version>
  </dependency>

2.3  配置swagger

<dependency>
     <groupId>com.mangofactory</groupId>
     <artifactId>swagger-springmvc</artifactId>
     <version>1.0.1</version>
</dependency>
<dependency>
     <groupId>com.fasterxml.jackson.dataformat</groupId>
     <artifactId>jackson-dataformat-xml</artifactId>
     <version>2.7.4</version>
</dependency>
<dependency>
     <groupId>com.fasterxml.jackson.core</groupId>
     <artifactId>jackson-databind</artifactId>
     <version>2.7.4</version>
</dependency>

還需一個倉庫

<repositories>
    <repository>
     <id>jcenter-release</id>
      <name>jcenter</name>
     <url>http://oss.jfrog.org/artifactory/oss-release-local/</url>
    </repository>
 </repositories>

3 加入Springmvc專案

            加入自己的springmvc專案,注意非java檔案放在src/main/resources目錄下,編譯後文件會在classpath下,還需要調整springmvc,mybatis檔案的引用檔案路徑。

4加入swagger ui資源

            swaggerui 的資源開源在https://github.com/swagger-api/swagger-ui。下載這個庫,把庫中的dist檔案複製到自己專案中webapp目錄下。資料夾名字可以隨意修改,但是這個路徑就是訪問api-docs路徑。在dist的目錄下找到index.html,開啟找到一段程式碼,把下面這個

url ="http://petstore.swagger.io/v2/swagger.json";

替換成

url ="http://localhost:8080/api-docs";

在src中建立一個swagger配置java類

@Configuration
@EnableWebMvc
@EnableSwagger
@ComponentScan("com.myapp.controllers")
public class MySwaggerConfig {
 
  private SpringSwaggerConfig springSwaggerConfig;
 
  @Autowired
  public void setSpringSwaggerConfig(
SpringSwaggerConfig springSwaggerConfig) {
     this.springSwaggerConfig = springSwaggerConfig;
   }
 
  @Bean //Don't forget the @Bean annotation
  public SwaggerSpringMvcPlugin customImplementation(){
     return new SwaggerSpringMvcPlugin(this.springSwaggerConfig)
           .apiInfo(apiInfo())
           .includePatterns(".*pet.*");
   }
 
   private ApiInfo apiInfo() {
     ApiInfo apiInfo = new ApiInfo(
              "My Apps API Title",
              "My Apps APIDescription",
              "My Apps API terms ofservice",
              "My Apps API ContactEmail",
              "My Apps API LicenceType",
              "My Apps API LicenseURL"
       );
     return apiInfo;
    }
}

按照自己的需要它的內容。

然後在springmvc配置檔案中引用這個bean。

<bean class="com.xxxx.xxxx.MySwaggerConfig"/>

並且設定html靜態資源

<mvc:resourcesmapping="*.html" location="/"/>

5 調整controller forswagger

@Controller
@RequestMapping("/admin")
@Api(value = "admin") //寫在contrller的@api註釋是swagger用於將api分組,切記不要用中文,否則無法生成出文檔
public class UserController {
 
   @RequestMapping(value = "/login",method = RequestMethod.POST)
   @ApiOperation(value = "登陸",httpMethod ="POST") //value可以寫中文
   public String login(@ApiIgnore ModelMap modelMap //@apiignore表示忽略這個引數的輸入,當然我們不需要客戶端提交這個值
      , HttpServletRequest request
      , @ApiParam(required = true,value = "使用者名稱")@RequestParam String username
      , @ApiParam(required = true,value = "密碼")@RequestParam String pwd)
        throwsException{
                                    。。。。。。。。程式碼內容
      }
}


相關推薦

基於idea15的SpringMVC整合SwaggerMaven

對於像我這種web小白,想要整合這個功能又不懂maven走了很多彎路,搜尋了很多資料,結果還是搞不得不清不楚,最後還是被我搞明白了。 1.    首先建立maven專案。new project選到maven,勾選create from archetype,然後在下面的專案列

android與C# WebService基於ksoap通信C#

ldo art fadein length col scripts append hid ldoc 1.打開VS 2013新建項目>>ASP.NET空WEB應用程序(我用的是.net 4.0) 2.在剛建立的項目上加入新建項(Web

SonarQube系列三、Jenkins整合SonarQubedotnetcore

【前言】 本系列主要講述sonarqube的安裝部署以及如何整合jenkins自動化分析.netcore專案。目錄如下: SonarQube系列一、Linux安裝與部署 SonarQube系列二、分析dotnet core/C#程式碼 SonarQube系列三、Jenkins整合SonarQube

SSM搭建整合Maven專案第一 外加增刪改查

 一、 首先我們得先建一個Maven專案,可以參考我這篇文章:https://blog.csdn.net/qq_38000902/article/details/79565136 建後以下目錄,你會發現IDEA識別不了,我們得設定讓IDEA識別一下: 開啟File裡面的Pro

進階之路中級 - 018 基於arduino的簡易版智能衣架

檢驗 dig cloc 布線 pin on() -- mage 根據 一. 設備及要求 目的:制作一個可以自動根據事實的天氣的狀況進行對衣架上的衣服進行晾曬。 基礎裝置:可伸縮的晾衣架。 開發環境:Arduino1. 8.1 主控板:Arduino UNO 動力裝置:

基於TypeScript的FineUIMvc組件式開發開頭

clas toa 教程 cda 解決 處理 如何 show 文章 了解FineUIMvc的都知道,FineUIMvc中采用了大量的IFrame框架,對於IFrame的優缺點網上也有很多的討論,這裏我要說它的一個優點“有助於隔離代碼邏輯”,這也是FineUIMvc官網對它的描

Springfox與swagger整合使用十七

ons 效果 head 單獨 sca 文檔 控制器 pack 接口 一、前言 讓我們先理一下springfox與swagger的關系。 swagger是一個流行的API開發框架,這個框架以“開放API聲明”(OpenAPI Specification,OAS)為基礎,對整個

基於hi-nginx的web開發python——cookie和會話管理

class status domain 登陸 edi 模板引擎 log 怎麽辦 cache hi-nginx通過redis管理會話。 要開啟管理,需要做三件事。 第一件開啟userid: userid on;

SpringMVC整合Swagger非Spring Boot

width acf audio cnblogs restfu sele type img sep 1.新建項目 1.1 maven項目 1.2 設置項目名 1.3 設置本地maven 1.4 finish 2.添加依賴 打開pom文件,添加下面

IDEA建立Activiti工作流開發第一Maven專案

首先建立一個新的Maven專案,建立完成後我們要安裝Activiti的外掛,首先開啟FIle的setting功能,搜尋Plugins: 輸入actiBPM,然後點選搜尋: 如圖點選安裝,它就會下載安裝 安裝好後點擊應用: 然後重啟IDEA,點選File檔案中的

Spring Boot Web 整合攔截器Interceptor

目錄 說在前面 在pom.xml加入相關依賴 定義攔截器 編寫攔截器 Interceptor 註冊攔截器 Interceptor 頁面訪問(專案啟動) 總結 原始碼下載 說在前面 Struts2(Interceptor篇):攔截器的實現

Idea搭建整合SSH框架Maven管理

<strong>1.開發環境</strong>: IntelliJ IDEA: 2016 Maven :3.0x Java 8 2.pom.xml <properties> <project.build.sourceEncoding

Spring Boot 日誌整合預設日誌logback

目錄 說在前面 logback(Spring Boot 預設日誌) 在pom.xml加入相關依賴 日誌級別 控制檯輸出 lombok方式 日誌檔案輸出 儲存路徑 級別控制 輸出格式 自定義日誌配置 根節點包含的屬性 屬性一: 設定上下

Spring Boot Web 整合Fastjson

目錄 說在前面 Fastjson目標 在pom.xml加入相關依賴 整合 Fastjson 配置管理類WebMvcConfigurer 程式設計式配置 實體類Customer 控制器類IndexController @ResponseBody 頁面訪問

Spring Boot Web 整合Thymeleaf模板

  目錄 說在前面 Thymeleaf特點 在pom.xml加入相關依賴 配置application.properties Controller層 Thymeleaf頁面 專案啟動 第一種方式,SpringBoot直接啟動(內建整合tomcat)

Spring Boot Web 整合FreeMarker模板

目錄 前言 工作原理​ 在pom.xml加入相關依賴 配置application.properties Controller層 FreeMarker頁面 專案啟動 第一種方式,SpringBoot直接啟動(內建整合tomcat) 瀏覽器訪問 第二種方式,打

Spring Boot Web 整合Servlet

說在前面 Servlet簡介:https://blog.csdn.net/Soinice/article/details/82745918 當使用Spring-Boot時,嵌入式Servlet容器通過掃描註解的方式註冊Servlet、Filter和Servlet規範的所有監聽器(如Htt

Spring Boot Web 整合監聽器Listener

說在前面 Listener簡介:https://blog.csdn.net/Soinice/article/details/82787964 上一篇文章已經對定義Filter 的方法進行了說明,監聽器(Listener)的註冊方法和Filter一樣,不清楚的可以檢視下上一篇文章:http

Spring Boot Web 整合過濾器Filter

說在前面 Filter簡介:https://blog.csdn.net/Soinice/article/details/82787964 上一篇文章已經對定義Servlet 的方法進行了說明,過濾器(Filter)的註冊方法和 Servlet 一樣,不清楚的可以檢視下上一篇文章:http

『中級』docker之CI/CD持續整合-終結77

>原創文章,歡迎轉載。轉載請註明:轉載自IT人故事會,謝謝!>原文連結地址:『中級篇』docker之CI/CD持續整合-(終結篇)(77) 今天是中級終結篇的最後一次了,想想在二個月的時間,每天的堅持學習和更新收穫還是滿滿的,跟我一起學習的小夥伴不知道你收穫到了嗎? 想說的