最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Spring Boot 項目中使用Swagger2的示例

 更新時間:2018年01月12日 10:12:02   作者:固安李慶海  
本篇文章主要介紹了Spring Boot 項目中使用Swagger2的示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

本文介紹了Spring Boot 項目中使用Swagger2的示例,分享給大家,具體如下:

添加Swagger2依賴

在pom.xml中加入Swagger2的依賴

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

創(chuàng)建Swagger2配置類

在Application.java同級創(chuàng)建Swagger2的配置類Swagger2。

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

@Configuration
@EnableSwagger2
public class Swagger2 {
  @Bean
  public Docket createRestApi() {
    return new Docket(DocumentationType.SWAGGER_2)
        .apiInfo(apiInfo())
        .select()
        .apis(RequestHandlerSelectors.basePackage("你自己的外部接口包名稱"))
        .paths(PathSelectors.any())
        .build();
  }

  private ApiInfo apiInfo() {
    return new ApiInfoBuilder()
        .title("詞網(wǎng)Neo4j RESTful APIs")
        .description("The Neo4j RESTful APIs description/")
        .termsOfServiceUrl("")
        .contact("李慶海")
        .version("5.0")
        .build();
  }
}

添加文檔內(nèi)容

在完成了上述配置后,其實已經(jīng)可以生產(chǎn)文檔內(nèi)容,但是這樣的文檔主要針對請求本身,而描述主要來源于函數(shù)等命名產(chǎn)生,對用戶并不友好,我們通常需要自己增加一些說明來豐富文檔內(nèi)容。

import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
/**
 * 系統(tǒng)用戶Controller
 * 
 * @author 李慶海
 *
 */
@Api(value = "系統(tǒng)用戶接口", tags = "系統(tǒng)管理")
@RestController
@RequestMapping("/v3/edu/users")
public class UserController {

  @Autowired
  private UserService userService;

  /**
   * 添加用戶,注冊
   * 
   * @param loginName
   *      登錄賬號
   * @param userName
   *      用戶名稱
   * @param password
   *      登錄密碼
   * @param roleId
   *      用戶角色
   * @return
   * @throws ResourceExistsException
   */
  @ApiOperation(value = "添加用戶")
  @PostMapping("/")
  public JsonResult create(
      @ApiParam(name = "loginName", value = "登錄賬號", required = true) @RequestParam(required = true) @RequestBody String loginName,
      @ApiParam(name = "userName", value = "用戶名稱", required = true) @RequestParam(required = true) @RequestBody String userName,
      @ApiParam(name = "password", value = "登錄密碼", required = true) @RequestParam(required = true) @RequestBody String password,
      @ApiParam(name = "roleId", value = "用戶角色編號", required = true) @RequestParam(required = true) @RequestBody String roleId)
      throws ResourceExistsException {
    boolean exists = this.userService.exists(loginName);
    if (exists) {
      throw new ResourceExistsException(loginName);
    }
    User user = userService.create(loginName, password, userName, roleId);
    return new JsonResult(user);
  }
}

查看API

啟動Spring Boot程序,訪問:http://localhost:8080/swagger-ui.html


API文檔訪問與調(diào)試

Swagger除了查看接口功能外,還提供了調(diào)試測試功能,我們可以點擊上圖中右側(cè)的Model Schema(黃色區(qū)域:它指明了數(shù)據(jù)結(jié)構(gòu)),此時Value中就有了user對象的模板,我們只需要稍適修改,點擊下方Try it out!按鈕,即可完成了一次請求調(diào)用!可以通過幾個GET請求來驗證之前的POST請求是否正確。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • MyBatis-Plus MetaObjectHandler的原理及使用

    MyBatis-Plus MetaObjectHandler的原理及使用

    MyBatis-Plus的MetaObjectHandler接口允許開發(fā)者自動填充實體類字段,如創(chuàng)建時間、更新時間等公共字段,減少代碼重復(fù),提高數(shù)據(jù)一致性和完整性,感興趣的可以了解一下
    2024-10-10
  • java自帶的四種線程池實例詳解

    java自帶的四種線程池實例詳解

    java線程的創(chuàng)建非常昂貴,需要JVM和OS(操作系統(tǒng))互相配合完成大量的工作,下面這篇文章主要給大家介紹了關(guān)于java自帶的四種線程池的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2022-04-04
  • 2020版IDEA整合GitHub的方法詳解

    2020版IDEA整合GitHub的方法詳解

    這篇文章主要介紹了2020版IDEA整合GitHub的方法,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-08-08
  • Java 基礎(chǔ)之內(nèi)部類詳解及實例

    Java 基礎(chǔ)之內(nèi)部類詳解及實例

    這篇文章主要介紹了 Java 基礎(chǔ)之內(nèi)部類詳解及實例的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • Java中Lambda表達(dá)式的使用詳細(xì)教程

    Java中Lambda表達(dá)式的使用詳細(xì)教程

    這篇文章將通過示例為大家詳細(xì)展示Java中Lambda表達(dá)式的用法,同時也會介紹Lambda的相關(guān)知識,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2022-05-05
  • MyBatis按時間排序方式

    MyBatis按時間排序方式

    這篇文章主要介紹了MyBatis按時間排序方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • Java如何獲取視頻文件的視頻時長

    Java如何獲取視頻文件的視頻時長

    文章介紹了如何使用Java獲取視頻文件的視頻時長,包括導(dǎo)入maven依賴和代碼案例,同時,也討論了在運行過程中遇到的SLF4J加載問題,并給出了解決方案
    2025-02-02
  • 為什么SpringMVC中請求的body不支持多次讀取

    為什么SpringMVC中請求的body不支持多次讀取

    這篇文章主要介紹了為什么SpringMVC中請求的body不支持多次讀取,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • java實現(xiàn)坦克大戰(zhàn)游戲

    java實現(xiàn)坦克大戰(zhàn)游戲

    這篇文章主要為大家詳細(xì)介紹了java實現(xiàn)坦克大戰(zhàn)游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-09-09
  • java中對象的比較equal、Comparble、Comparator的區(qū)別

    java中對象的比較equal、Comparble、Comparator的區(qū)別

    本文主要介紹了java中對象的比較equal、Comparble、Comparator的區(qū)別,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-10-10

最新評論

遂平县| 鲁甸县| 乡宁县| 纳雍县| 连城县| 贺兰县| 涡阳县| 青海省| 台前县| 原平市| 兰考县| 永善县| 大名县| 平安县| 乐业县| 民丰县| 杭锦后旗| 平安县| 平江县| 固原市| 民乐县| 玛纳斯县| 涡阳县| 阿图什市| 砚山县| 云南省| 扶沟县| 丹江口市| 萨嘎县| 赫章县| 京山县| 简阳市| 老河口市| 陈巴尔虎旗| 甘洛县| 双辽市| 孙吴县| 江达县| 正阳县| 周至县| 佛坪县|