91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

詳解如何在SpringBoot里使用SwaggerUI

發布時間:2020-09-12 02:46:22 來源:腳本之家 閱讀:149 作者:Chris_Mo 欄目:編程語言

Swagger

Swagger是一種和語言無關的規范和框架,用于定義服務接口,主要用于描述RESTful的API。它專注于為API創建優秀的文檔和客戶端庫。支持Swagger的API可以為API方法生成交互式的文檔,讓用戶可以通過以可視化的方式試驗,查看請求和響應、頭文件和返回代碼,從而發現API的功能。

swagger用于定義API文檔。

好處:

  1. 前后端分離開發
  2. API文檔非常明確
  3. 測試的時候不需要再使用URL輸入瀏覽器的方式來訪問Controller
  4. 傳統的輸入URL的測試方式對于post請求的傳參比較麻煩(當然,可以使用postman這樣的瀏覽器插件)
  5. spring-boot與swagger的集比較成簡單

SpringBoot嵌入SwaggerUI

步驟

1.jar包引入

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

2.基于SpringBoot配置SwaggerConfig

@Configuration
@EnableSwagger2
public class SwaggerConfig {
  @Bean
  public Docket newsApi() {
    //return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).select().paths(PathSelectors.any()).build();
    Docket docket = new Docket(DocumentationType.SWAGGER_2);
    docket.enable(true);
    docket.apiInfo(apiInfo()).select().paths(PathSelectors.any()).build();
    return docket;
  }

  private ApiInfo apiInfo() {
    return new ApiInfoBuilder().title("訂單中心測試平臺").description("在這里你可以瀏覽項目所有接口,并提供相關測試工具")
        .termsOfServiceUrl("http://www-03.ibm.com/software/sla/sladb.nsf/sla/bm?Open").contact("test")
        .license("China Red Star Licence Version 1.0").licenseUrl("#").version("1.0").build();
  }
}

3.WebConfig配置說明

這里有一個需要注意的問題,讓WebConfig去繼承WebMvcAutoConfigurationAdapter而不是直接繼承WebMvcConfigurerAdapter,否則Swagger的頁面出不來。

@Configuration
@EnableWebMvc
public class WebConfig extends WebMvcAutoConfigurationAdapter {

  @Override
  public void addCorsMappings(CorsRegistry registry) {
    registry.addMapping("/**");
  }

  @Bean
  public static PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer() {
    return new PropertySourcesPlaceholderConfigurer();
  }

  @Bean
  public Filter characterEncodingFilter() {
    CharacterEncodingFilter characterEncodingFilter = new CharacterEncodingFilter();
    characterEncodingFilter.setEncoding("UTF-8");
    characterEncodingFilter.setForceEncoding(true);
    return characterEncodingFilter;
  }

  @Bean
  public MappingJackson2HttpMessageConverter converter() {
    MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter();
    return converter;
  }

  @Bean
  public ViewResolver getViewResolver() {
    InternalResourceViewResolver resolver = new InternalResourceViewResolver();
    resolver.setViewClass(JstlView.class);
    resolver.setPrefix("/jsp");
    resolver.setSuffix(".jsp");
    return resolver;
  }

  @Bean
  public StandardServletMultipartResolver getStandardServletMultipartResolver() {
    return new StandardServletMultipartResolver();
  }
}

4.SwaggerUI頁面訪問

http://localhost:8080/projectName/swagger-ui.html#!/

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

张北县| 鹤壁市| 辛集市| 浦江县| 东阳市| 阿拉尔市| 灵丘县| 错那县| 湖北省| 岳普湖县| 海门市| 武隆县| 特克斯县| 潍坊市| 嘉峪关市| 文水县| 江陵县| 汉寿县| 竹北市| 扎兰屯市| 海阳市| 招远市| 莲花县| 云和县| 南京市| 右玉县| 鲜城| 蓝田县| 孝昌县| 仪征市| 神木县| 新丰县| 山阴县| 韶关市| 湾仔区| 灵璧县| 孟村| 云和县| 永顺县| 关岭| 金山区|