20221102 spring集成swagger

swagger

  • 支持 API 自动生成同步的在线文档:使用 Swagger 后可以直接通过代码生成文档,不再需要自己手动编写接口文档了,对程序员来说非常方便,可以节约写文档的时间去学习新技术。
  • 提供 Web 页面在线测试 API:光有文档还不够,Swagger 生成的文档还支持在线测试。参数和格式都定好了,直接在界面上输入参数对应的值即可在线测试接口。

添加依赖

<!--swagger2 start -->
		<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>

		<dependency>
			<groupId>org.webjars</groupId>
			<artifactId>bootstrap</artifactId>
			<version>3.3.5</version>
		</dependency>
		<!--swagger2 end -->

添加配置类

这里把swagger配置单独写成一个类,如果把配置写在spring配置文件中,spring配置文件的内容会非常多。

@Configuration
@EnableSwagger2
public class Swagger2 {

        //swagger2的配置文件,这里可以配置swagger2的一些基本的内容,比如扫描的包等等
		//创建一个bean
        @Bean  
        public Docket createRestApi() {
            return new Docket(DocumentationType.SWAGGER_2)
                    .apiInfo(apiInfo())
                    .select()
                    //为当前包路径 com.etc.demo 控制器所在的包
                    .apis(RequestHandlerSelectors.basePackage("com.etc.controller"))
                    .paths(PathSelectors.any())
                    .build();
        }
        //构建 api文档的详细信息函数,注意这里的注解引用的是哪个
        private ApiInfo apiInfo() {
            return new ApiInfoBuilder()
                    //页面标题
                    .title("Spring MVC 测试使用 Swagger2 构建RESTful API")
                    //创建人
                    .contact(new Contact("小白", "http://zretc.net", ""))
                    //版本号
                    .version("1.0")
                    //描述
                    .description("API 描述")
                    .build();
        }


    }

在controller写标签

控制器类前:
@Api(value=“商品控制器”)

控制器接口方法前:
@ApiOperation(value=“商品列表”, httpMethod=“GET”,notes=“商品模糊查询”,response=AjaxResponse.class)

参数位置:
@ApiParam(name = “keywords”, required = false, value = “查询关键字”)

访问地址

http://localhost:8800/项目名/swagger-ui.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在 Spring Gateway 中集成 Swagger,你可以按照以下步骤进行操作: 1. 首先,确保你已经在你的 Spring Boot 项目中集成Swagger。你可以使用 `springfox-swagger2` 和 `springfox-swagger-ui` 依赖来实现这一点。在你的 `build.gradle` 或 `pom.xml` 文件中添加以下依赖: ``` implementation 'io.springfox:springfox-swagger2:2.9.2' implementation 'io.springfox:springfox-swagger-ui:2.9.2' ``` 2. 创建一个 Swagger 配置类,于配置 Swagger 相关的配置。例如: ```java @Configuration @EnableSwagger2 public class SwaggerConfig { @Bean public Docket api() { return new Docket(DocumentationType.SWAGGER_2) .select() .apis(RequestHandlerSelectors.basePackage("com.example.controller")) .paths(PathSelectors.any()) .build(); } } ``` 上述示例中,我们创建了一个名为 `api()` 的 `Docket` Bean,并配置了要扫描的 API 包路径。 3. 在你的 Gateway 配置类中添加 Swagger 相关的路由规则。例如: ```java @Configuration public class GatewayConfig { @Bean public RouteLocator customRouteLocator(RouteLocatorBuilder builder) { return builder.routes() // Swagger UI 路由规则 .route("swagger_ui_route", r -> r.path("/swagger-ui.html") .uri("classpath:/META-INF/resources/swagger-ui.html")) .route("swagger_ui_assets", r -> r.path("/webjars/**") .uri("classpath:/META-INF/resources/webjars/")) // Swagger API 路由规则 .route("swagger_api_route", r -> r.path("/v2/api-docs") .filters(f -> f.rewritePath("/v2/api-docs", "/v2/api-docs")) .uri("lb://your-service-name")) .build(); } } ``` 上述示例中,我们创建了两个路由规则,一个用于 Swagger UI,另一个用于 Swagger API。请将 `your-service-name` 替换为你的实际服务名称。 4. 运行你的应用程序,并访问 http://localhost:8080/swagger-ui.html,你将看到 Swagger UI 页面。你可以在这里查看和测试你的 API 文档。 这就是在 Spring Gateway 中集成 Swagger 的基本步骤。通过配置 Swagger 相关的路由规则,你可以将 Swagger UI 和 Swagger API 集成到你的网关中,以便于统一管理和访问 API 文档。 希望这个步骤可以帮助你集成 SwaggerSpring Gateway!如果你有其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值