日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

springMVC整合swagger(亲自试验完全可用)

發布時間:2025/3/16 c/c++ 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 springMVC整合swagger(亲自试验完全可用) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

swagger是什么:

[plain]?view plaincopyprint?
  • Swagger?是一款RESTFUL接口的文檔在線自動生成+功能測試功能軟件。本文簡單介紹了在項目中集成swagger的方法和一些常見問題。如果想深入分析項目源碼,了解更多內容,見參考資料。??
  • Swagger?是一個規范和完整的框架,用于生成、描述、調用和可視化?RESTful?風格的?Web?服務。總體目標是使客戶端和文件系統作為服務器以同樣的速度來更新。文件的方法,參數和模型緊密集成到服務器端的代碼,允許API來始終保持同步。Swagger?讓部署管理和使用功能強大的API從未如此簡單。??

  • 將swagger集成到springmvc項目中去:

    首先添加swagger依賴,作者用的maven管理:

    [html]?view plaincopyprint?
  • <!--?swagger?-->??
  • <dependency>????
  • ????<groupId>com.mangofactory</groupId>????
  • ????<artifactId>swagger-springmvc</artifactId>????
  • ????<version>1.0.2</version>????
  • </dependency>??
  • <dependency>??
  • ????<groupId>com.fasterxml.jackson.core</groupId>??
  • ????<artifactId>jackson-core</artifactId>??
  • ????<version>2.5.1</version>??
  • </dependency>??
  • <dependency>??
  • ????<groupId>com.fasterxml.jackson.core</groupId>??
  • ????<artifactId>jackson-databind</artifactId>??
  • ????<version>2.5.1</version>??
  • </dependency>??
  • <dependency>??
  • ????<groupId>com.fasterxml.jackson.core</groupId>??
  • ????<artifactId>jackson-annotations</artifactId>??
  • ????<version>2.5.1</version>??
  • </dependency>???
  • 創建自定義swagger初始化配置文件:

    [java]?view plaincopyprint?
  • package?com.yrok.swagger;??
  • ??
  • import?org.springframework.beans.factory.annotation.Autowired;??
  • import?org.springframework.context.annotation.Bean;??
  • ??
  • import?com.mangofactory.swagger.configuration.SpringSwaggerConfig;??
  • import?com.mangofactory.swagger.models.dto.ApiInfo;??
  • import?com.mangofactory.swagger.plugin.EnableSwagger;??
  • import?com.mangofactory.swagger.plugin.SwaggerSpringMvcPlugin;??
  • ??
  • @EnableSwagger??
  • public?class?SwaggerConfig?{??
  • ??
  • ????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)??
  • ????????????????.apiInfo(apiInfo())??
  • ????????????????.includePatterns(".*?");??
  • ????}??
  • ??
  • ????private?ApiInfo?apiInfo()??
  • ????{??
  • ????????ApiInfo?apiInfo?=?new?ApiInfo(??
  • ????????????????"springmvc搭建swagger",??
  • ????????????????"spring-API?swagger測試",??
  • ????????????????"My?Apps?API?terms?of?service",??
  • ????????????????"534560449@qq.com",??
  • ????????????????"web?app",??
  • ????????????????"My?Apps?API?License?URL");??
  • ????????return?apiInfo;??
  • ????}??
  • }??
  • 將swagger配置類及依賴SpringSwaggerConfig加載到spring容器中:

    [html]?view plaincopyprint?
  • <!--?啟用MVC注解?-->??
  • <mvc:annotation-driven?/>??
  • <!--?將?springSwaggerConfig加載到spring容器?-->??
  • <bean?class="com.mangofactory.swagger.configuration.SpringSwaggerConfig"?/>??
  • <!--?將自定義的swagger配置類加載到spring容器?-->??
  • <bean?class="com.yrok.swagger.SwaggerConfig"?/>??
  • 配置相關controller的api:

    [java]?view plaincopyprint?
  • package?com.yrok.controller;??
  • ??
  • import?javax.annotation.Resource;??
  • ??
  • import?org.springframework.stereotype.Controller;??
  • import?org.springframework.web.bind.annotation.RequestMapping;??
  • import?org.springframework.web.bind.annotation.RequestParam;??
  • import?org.springframework.web.bind.annotation.ResponseBody;??
  • ??
  • import?com.wordnik.swagger.annotations.Api;??
  • import?com.wordnik.swagger.annotations.ApiOperation;??
  • import?com.wordnik.swagger.annotations.ApiParam;??
  • import?com.yrok.entity.User;??
  • import?com.yrok.service.UserService;??
  • @Api(value="user")??
  • @Controller??
  • @RequestMapping(value="/user")??
  • public?class?UserController?{??
  • ??
  • ????@Resource??
  • ????UserService?userService;??
  • ??
  • ????@RequestMapping(value?=?"/getUser")??
  • ????@ResponseBody??
  • ????@ApiOperation(value="根據ID獲取用戶信息",httpMethod="GET",notes="get?user?by?id",response=User.class)??
  • ????public?User?getUser(@ApiParam(required=true,value="用戶ID",name="userId")@RequestParam(value="userId")Integer?userId)?{??
  • ????????return?userService.getUserByID(userId);??
  • ????}??
  • ??????
  • }??
  • 和Swagger UI的集成:

    在GitHub上將swaggerui下載,地址:https://github.com/swagger-api/swagger-ui

    解壓后將dist文件夾中所有的文件拷貝到webapp/swagger這里的swagger是作者自定義的你可以寫為自己創建的目錄。

    修改index.html中的 http://petstore.swagger.wordnik.com/v2/swagger.json修改為自己項目路徑+api-docs,例如:

    http://localhost:8080/SSMSwagger/api-docs:SSMSwagger為項目名稱。

    在spring-mvc.xml中過濾掉swagger-ui的文件:

    [html]?view plaincopyprint?
  • <!--?靜態資源文件,不會被Spring?MVC攔截?-->??
  • <mvc:resources?mapping="/swagger/**"?location="/swagger/"?/>??
  • 到這里基本完成了springmvc和swagger的整合,下面是測試結果:

    在瀏覽器中訪問:http://localhost:8080/SSMSwagger/swagger/index.html#/user/getUser


    到此,本篇文章已經結束,下面分享其他資料和參考:

    參考地址:
    官網:http://swagger.io/
    GitHub:
    swagger-springmvc:https://github.com/martypitt/swagger-springmvc
    swagger-ui:https://github.com/swagger-api/swagger-ui
    swagger-core:https://github.com/swagger-api/swagger-core
    swagger-spec:https://github.com/swagger-api/swagger-spec

    總結

    以上是生活随笔為你收集整理的springMVC整合swagger(亲自试验完全可用)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 日本一级淫片色费放 | 成人在线午夜 | 四虎影院免费视频 | 欧美在线视频精品 | 午夜在线一区二区 | 少妇做爰k8经典 | 少妇一级淫片免费放中国 | 偷偷久久| 色网视频 | 扶她futa粗大做到怀孕 | 色悠悠网| 蜜桃成熟时李丽珍在线观看 | 国产娇小hdxxxx乱 | 午夜a视频 | 色妞综合| 久热这里只有精品在线 | 人妻aⅴ无码一区二区三区 阿v免费视频 | 日本一区二区三区欧美 | www.五月.com| 国产乱码精品一区二区三区亚洲人 | 国产亚洲一区二区不卡 | 国产精品羞羞答答在线观看 | 一区二区三区黄色录像 | 亚洲精品污一区二区三区 | 国产伦一区二区 | 人妻少妇精品视频一区二区三区 | 成人免费av网站 | 各处沟厕大尺度偷拍女厕嘘嘘 | 少妇熟女视频一区二区三区 | 久久国产美女视频 | 成人app在线 | 久久青青草原 | 国产一级片视频 | 欧美一级视频免费观看 | 国产a大片| www日本黄色 | 久久久精品区 | 欧美涩涩涩 | 日本国产高清 | 91丝袜国产在线观看 | 国产丝袜在线视频 | 精品无码人妻一区二区三区 | 久久这里只有精品8 | 精品女同一区二区 | 国产香蕉视频在线播放 | 国产h片在线观看 | 日本免费网站在线观看 | 久草成人在线 | 老色驴综合网 | 日本一区二区三区在线播放 | 桃谷绘里香在线观看 | www.日本免费 | 在线观看国产区 | 午夜视频在线免费看 | 亚洲一区二区美女 | 欧洲激情网 | 日本aaa级片 | www国产在线 | julia在线播放88mav | 日韩一级影院 | 久久久久久久久艹 | 精品国产av 无码一区二区三区 | 中文字幕一区二区在线观看 | 欧美一级专区免费大片 | 一个色综合导航 | 国产欧美综合在线 | 国产精品va无码一区二区三区 | 国产成人精品一区二区 | 日本精品中文字幕 | 九色视频偷拍少妇的秘密 | 天堂网www. | 福利一区视频 | 青草精品在线 | av福利在线| av综合久久 | 色欧美88888久久久久久影院 | 国产精品一区二区av白丝下载 | 懂色av蜜臀av粉嫩av喷吹 | 99精品视频免费版的特色功能 | 免费特黄视频 | 人妻91麻豆一区二区三区 | 红桃视频一区二区三区免费 | 成人人伦一区二区三区 | 黑人巨大猛烈捣出白浆 | www.伊人 | 可以在线观看的黄色 | 欧美女同在线 | 抱着老师的嫩臀猛然挺进视频 | 人人干人人澡 | a级性生活视频 | 成人午夜免费福利视频 | av一级 | 操欧洲美女 | 国产不卡视频一区二区三区 | wwyoujizzcom | 丁香花电影高清在线阅读免费 | 亚洲成成品网站 | 免费在线精品视频 | 国产农村妇女精品久久久 |