<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      SpringBoot集成Swagger 2

      在 Spring Boot 中,使用 Swagger 2 可以非常方便地構(gòu)建和測試 RESTful APIs。Swagger 提供了交互式的 API 文檔頁面,使開發(fā)者和用戶能夠直觀地了解和使用 API。

      以下是如何在 Spring Boot 中集成 Swagger 2 的詳細(xì)步驟。


      1. 添加 Maven 依賴

      在項(xiàng)目的 pom.xml 中添加 Swagger 相關(guān)依賴:

      <dependencies>
          <!-- Swagger 依賴 -->
          <dependency>
              <groupId>io.springfox</groupId>
              <artifactId>springfox-boot-starter</artifactId>
              <version>3.0.0</version> <!-- 確保版本兼容 -->
          </dependency>
      </dependencies>

      如果使用 Gradle,添加:

      implementation 'io.springfox:springfox-boot-starter:3.0.0'

      2. 配置 Swagger

      創(chuàng)建一個(gè)配置類,用于初始化 Swagger 2:

      import org.springframework.context.annotation.Bean;
      import org.springframework.context.annotation.Configuration;
      import springfox.documentation.builders.PathSelectors;
      import springfox.documentation.builders.RequestHandlerSelectors;
      import springfox.documentation.spi.DocumentationType;
      import springfox.documentation.spring.web.plugins.Docket;
      ?
      @Configuration
      public class SwaggerConfig {
      ?
          @Bean
          public Docket api() {
              return new Docket(DocumentationType.SWAGGER_2)
                      .select()
                      // 掃描指定的包路徑
                      .apis(RequestHandlerSelectors.basePackage("com.example.controller"))
                      .paths(PathSelectors.any()) // 匹配所有路徑
                      .build();
          }
      }

      3. 編寫 RESTful API

      創(chuàng)建一個(gè)簡單的 Controller 測試 Swagger 的效果:

      package com.example.controller;
      ?
      import org.springframework.web.bind.annotation.*;
      ?
      @RestController
      @RequestMapping("/api/v1")
      public class UserController {
      ?
          @GetMapping("/users")
          public String getUsers() {
              return "List of users";
          }
      ?
          @PostMapping("/users")
          public String createUser(@RequestBody String user) {
              return "User created: " + user;
          }
      ?
          @GetMapping("/users/{id}")
          public String getUserById(@PathVariable String id) {
              return "User with ID: " + id;
          }
      ?
          @DeleteMapping("/users/{id}")
          public String deleteUser(@PathVariable String id) {
              return "User deleted with ID: " + id;
          }
      }

      4. 訪問 Swagger UI

      啟動 Spring Boot 應(yīng)用后,訪問以下 URL:

      • Swagger UI 頁面: http://localhost:8080/swagger-ui/

      注意: 默認(rèn)情況下,Swagger UI 會根據(jù)配置類掃描并生成文檔頁面,展示所有 RESTful API 的詳細(xì)信息和接口調(diào)用示例。


      5. 示例文檔頁面

      Swagger 頁面會根據(jù) UserController 自動生成如下 API 文檔:

      • GET /api/v1/users

      • POST /api/v1/users

      • GET /api/v1/users/{id}

      • DELETE /api/v1/users/{id}

      通過頁面可以直接發(fā)送請求并查看響應(yīng)。


      6. 其他 Swagger 配置項(xiàng)

      全局 API 信息

      SwaggerConfig 中,可以設(shè)置全局的 API 信息,比如標(biāo)題、版本、描述等:

      import springfox.documentation.service.ApiInfo;
      import springfox.documentation.service.Contact;
      import springfox.documentation.spi.DocumentationType;
      import springfox.documentation.spring.web.plugins.Docket;
      import springfox.documentation.builders.ApiInfoBuilder;
      ?
      @Bean
      public Docket api() {
          return new Docket(DocumentationType.SWAGGER_2)
                  .select()
                  .apis(RequestHandlerSelectors.any())
                  .paths(PathSelectors.any())
                  .build()
                  .apiInfo(apiInfo());
      }
      ?
      private ApiInfo apiInfo() {
          return new ApiInfoBuilder()
                  .title("My RESTful API")
                  .description("This is a sample API documentation using Swagger2")
                  .version("1.0")
                  .contact(new Contact("Your Name", "https://example.com", "email@example.com"))
                  .build();
      }
      隱藏或忽略某些 API
      • 對于 Controller 或 API 方法,可以使用注解 @ApiIgnore 來隱藏不希望暴露的接口。

      import springfox.documentation.annotations.ApiIgnore;
      ?
      @ApiIgnore
      @RestController
      public class HiddenController {
          // 這個(gè)類不會在 Swagger 文檔中顯示
      }

      7. 整合 Spring Security(可選)

      如果項(xiàng)目中啟用了 Spring Security,需要為 Swagger UI 相關(guān)資源路徑配置放行:

      @Override
      protected void configure(HttpSecurity http) throws Exception {
          http.authorizeRequests()
              .antMatchers("/swagger-ui/**", "/v2/api-docs", "/swagger-resources/**", "/webjars/**").permitAll()
              .anyRequest().authenticated();
      }

      總結(jié)

      通過集成 Swagger 2,開發(fā)者可以直觀地管理和測試 RESTful APIs,主要步驟包括:

      1. 添加依賴。

      2. 配置 SwaggerConfig

      3. 編寫 Controller。

      4. 訪問 Swagger UI 測試接口。

      這種方式特別適合團(tuán)隊(duì)協(xié)作,便于前后端聯(lián)調(diào)和文檔維護(hù)。

       
      posted @ 2024-11-29 17:46  luorx  閱讀(952)  評論(0)    收藏  舉報(bào)
      主站蜘蛛池模板: 久久精品一区二区三区中文字幕| 日韩本精品一区二区三区| 国产精品自在线拍国产手青青机版| 欧美牲交videossexeso欧美| 国产在线精品欧美日韩电影| 国产成人精品一区二区无| 免费久久人人爽人人爽AV| 国产午夜福利视频合集| 精品人妻免费看一区二区三区| 高清偷拍一区二区三区| 无码 人妻 在线 视频| 国产在线无码不卡播放| 美日韩精品综合一区二区| japanese无码中文字幕| 国产妇女馒头高清泬20p多| 久久亚洲国产五月综合网| 亚洲成在人线AV品善网好看| 国产精品久久久久久福利69堂| 最新亚洲人成网站在线影院| 亚洲精品日韩中文字幕| 国产91久久精品一区二区| 国产精品三级中文字幕| 国产精品无码a∨精品| 人妻中文字幕不卡精品| 极品少妇xxxx| 婷婷五月综合激情| 中文字幕亚洲人妻一区| 国产香蕉97碰碰久久人人| 东京热大乱系列无码| 成av人片一区二区久久| 中文字幕 日韩 人妻 无码| 婷婷综合缴情亚洲| 精品乱人码一区二区二区| 国产91小视频在线观看| 国产精品久久久久鬼色| 国产精品蜜臀av在线一区| 中文字幕日本一区二区在线观看| 狠狠色噜噜狠狠狠狠av不卡| 天堂资源在线| 亚洲欧美日韩尤物AⅤ一区| 老师扒下内裤让我爽了一夜|