欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

怎么在SpringBoot中利用Swagger2生成一個接口文檔

本篇文章為大家展示了怎么在SpringBoot中利用Swagger2生成一個接口文檔,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

成都創(chuàng)新互聯(lián)長期為上1000家客戶提供的網(wǎng)站建設服務,團隊從業(yè)經驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為峨眉山企業(yè)提供專業(yè)的網(wǎng)站建設、成都網(wǎng)站制作,峨眉山網(wǎng)站改版等技術服務。擁有10余年豐富建站經驗和眾多成功案例,為您定制開發(fā)。

準備工作

一個SpringBoot項目,可以直接去官網(wǎng) 生成一個demo 。

一個用戶類。

package cn.itweknow.springbootswagger.model;

import java.io.Serializable;


public class User implements Serializable {

 private Integer id;

 private String name;

 private String password;

 private String email;
}

項目依賴

Web Service肯定是一個Web項目,所以我們這里依賴了 spring-boot-starter-web 包,其他兩個包就是和 Swagger 相關的包了。

<dependency>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-web</artifactId>
</dependency>

<dependency>
 <groupId>io.springfox</groupId>
 <artifactId>springfox-swagger2</artifactId>
 <version>2.9.2</version>
</dependency>

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

Swagger配置

Springfox Docket實例為Swagger配置提供了便捷的配置方法以及合理的默認配置。我們將通過創(chuàng)建一個Docket實例來對Swagger進行配置,具體配置如下所示。

@Configuration
@EnableSwagger2
public class SwaggerConfig extends WebMvcConfigurationSupport {

 @Bean
 public Docket productApi() {
  return new Docket(DocumentationType.SWAGGER_2).select()
    // 掃描的包路徑
    .apis(RequestHandlerSelectors.basePackage("cn.itweknow.springbootswagger.controller"))
    // 定義要生成文檔的Api的url路徑規(guī)則
    .paths(PathSelectors.any())
    .build()
    // 設置swagger-ui.html頁面上的一些元素信息。
    .apiInfo(metaData());
 }

 private ApiInfo metaData() {
  return new ApiInfoBuilder()
    // 標題
    .title("SpringBoot集成Swagger2")
    // 描述
    .description("這是一篇博客演示")
    // 文檔版本
    .version("1.0.0")
    .license("Apache License Version 2.0")
    .licenseUrl("https://www.apache.org/licenses/LICENSE-2.0")
    .build();
 }

 @Override
 protected void addResourceHandlers(ResourceHandlerRegistry registry) {
  registry.addResourceHandler("swagger-ui.html")
    .addResourceLocations("classpath:/META-INF/resources/");

  registry.addResourceHandler("/webjars/**")
    .addResourceLocations("classpath:/META-INF/resources/webjars/");
 }
}

上述代碼中的addResourceHandlers方法添加了兩個資源處理程序,這段代碼的主要作用是對Swagger UI的支持。

API文檔

好了,到這一步,我們已經在一個SpringBoot項目中配置好了Swagger。現(xiàn)在,我們就來看一下如何去使用他。首先我們定義了一個 Controller 并提供了兩個接口:

  • 通過用戶id獲取用戶

  • 用戶登錄

@RestController
@RequestMapping("/user")
@Api(description = "用戶相關接口")
public class UserController {

 /**
  * 通過id查詢用戶
  * @return
  */
 @RequestMapping(value = "/get", method = RequestMethod.GET)
 @ApiOperation("根據(jù)id獲取用戶")
 public User getUserById(@ApiParam(value = "用戶id") Integer id) {
  return new User();
 }

 @RequestMapping(value = "/login", method = RequestMethod.POST)
 @ApiOperation("用戶登錄")
 public User login(@RequestBody User user) {
  return new User();
 }
}

相信大家都注意到了,這個 Controller 里面多了很多新的注解,比如說 @Api , @ApiOperation 等,下面我們就來一一解釋一下。

  • @Api,這個注解是用在Controller類上面的,可以對Controller做必要的說明。

  • @ApiOperation,作用在具體的方法上,其實就是對一個具體的API的描述。

  • @ApiParam,對API參數(shù)的描述。

到這里,其實我們的Swagger就已經可以有效果了,讓我們將項目運行起來先看看效果。訪問 http://localhost:8080/swagger-ui.html 即可。

怎么在SpringBoot中利用Swagger2生成一個接口文檔

Model

在上面的圖中可以看到在頁面的下方有一個Models的標簽,那么這個是啥呢。其實這個就是我們API中出現(xiàn)的一些對象的文檔,我們也可以通過注解來對這些對象中的字段做一些說明,以方便使用者理解。以文章開頭提到的 User 類來做一個說明。

@ApiModel("用戶實體")
public class User implements Serializable {

 @ApiModelProperty(value = "用戶id")
 private Integer id;

 @ApiModelProperty(value = "用戶名稱", required = true)
 private String name;

 @ApiModelProperty(value = "密碼", required = true)
 private String password;

 @ApiModelProperty(value = "用戶郵箱")
 private String email;
}

我們來看一下 User 類在Swagger上是如何展示的:

怎么在SpringBoot中利用Swagger2生成一個接口文檔

上述內容就是怎么在SpringBoot中利用Swagger2生成一個接口文檔,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

網(wǎng)頁名稱:怎么在SpringBoot中利用Swagger2生成一個接口文檔
分享網(wǎng)址:http://www.aaarwkj.com/article12/igdhgc.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供、服務器托管搜索引擎優(yōu)化、外貿建站、網(wǎng)站排名網(wǎng)站改版

廣告

聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司
日韩一日韩一区二区三电影在线观看 | 福利av一区二区三区| 亚洲大乳大丰满中文字幕| 五月爱婷婷六月爱丁香色| 欧美大尺度影片在线观看| 内射极品美女在线观看| 中文字幕人妻日韩在线| 视频一区二区日韩不卡| 亚洲成av人亚洲av| 99热在线精品国产观看| 国产高清毛片区1区二区三区| 亚洲精品深夜福利视频| 日韩三级视频一区二区| 成人性生交视频免费看| 日本熟女午夜福利视频| 久久精品亚洲av三区麻豆| 在线观看男人的天堂av| 欧美日韩另类激情免费| 三级日本午夜在线观看| 久久婷婷av一区二区三区| 国产老太婆精品久久久久| 日韩视频一区二区三区系列| 成人黄色av网站在线观看| 人妻av一区二区三区| 亚洲欧美日韩一区中文字幕| 五月婷婷亚洲激情综合网| 日本免费熟女一区二区| 日日摸夜夜添添出白浆| 国产精品日韩精品在线| 亚洲精品在线观看毛片| 成人黄色av免费看| 91精品人妻一区二区| 亚洲国产精品福利在线| 激情五月,开心五月深情五月 | 欧美日韩另类激情免费| 亚洲精品一区二区毛豆| 国产精品午夜视频免费观看| 久久国产精品久久国产精品| 日韩成人一级片在线观看| 亚洲欧美中文日韩二区一区| 亚洲欧美日韩香蕉在线观看|