swagger修改请求接口的默认host<ip+端口>

博客介绍了在代码上进行路由转发的配置方法,可将url写成配置文件形式,便于改成正式环境地址,涉及Java相关技术。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

代码上配置路由转发即可,url可以写成配置文件的形式,方便改成正式环境地址

import io.swagger.v3.oas.models.OpenAPI;
import io.swagger.v3.oas.models.servers.Server;
import org.springframework.stereotype.Component;
import springfox.documentation.oas.web.OpenApiTransformationContext;
import springfox.documentation.oas.web.WebMvcOpenApiTransformationFilter;
import springfox.documentation.spi.DocumentationType;

import javax.servlet.http.HttpServletRequest;
import java.util.Arrays;

@Component
public class SpringfoxSwaggerHostResolver implements WebMvcOpenApiTransformationFilter {

    @Override
    public OpenAPI transform(OpenApiTransformationContext<HttpServletRequest> context) {
        OpenAPI swagger = context.getSpecification();
        Server server = new Server();
        server.setUrl("https://foo.com/test/api/insurance/");
        swagger.setServers(Arrays.asList(server));
        return swagger;
    }

    @Override
    public boolean supports(DocumentationType delimiter) {
        return DocumentationType.OAS_30.equals(delimiter);
    }
}

在这里插入图片描述

### 如何在 JMeter 中根据 Swagger 文档设置请求参数 为了在 JMeter 中根据 Swagger 文档设置请求参数,可以通过以下方式实现: #### 1. 创建线程组 在 JMeter 的测试计划中,右键单击 **测试计划** -> 添加 -> 线程组 (用户) -> 线程组。此操作用于定义并发用户的数量以及运行时间等基本信息[^5]。 #### 2. 添加 HTTP 请求采样器 在线程组下,右键单击 **线程组** -> 添加 -> 取样器 -> HTTP 请求。这是用来模拟发送 HTTP 请求的核心组件。 #### 3. 设置 HTTP 请求的基本信息 - **方法**: 根据 Swagger 接口文档中的描述,选择对应的 HTTP 方法(GET、POST、PUT 或 DELETE)。如果接口是一个 POST 请求,则在此处选择 POST。 - **服务器名称或 IP**: 填写目标服务的域名或者 IP 地址。可以从 Swagger UI 页面上的 URL 获取该字段的信息。 - **端口号**: 如果有指定端口号则填入;如果没有,默认会使用标准协议端口(如 HTTP 使用 80,HTTPS 使用 443)。 - **路径**: 输入 API 路径部分,通常可以在 Swagger UI 上找到完整的 URI 结构。 #### 4. 配置请求体数据 对于带有 Body 参数的请求(例如 POST),需要进一步配置请求体的内容: - 切换到 **Body Data** 标签页; - 将 JSON 数据粘贴到这里,并确保其结构与 Swagger 定义一致。例如,假设 Swagger 显示了一个 `application/json` 类型的数据模型 `{ "key": "value" }`,那么可以直接复制这个对象作为输入。 #### 5. 处理 Headers 和 Tokens 某些接口可能需要额外的身份认证机制,比如 OAuth Token。此时需完成以下步骤: - 在 HTTP 请求下方添加一个新的元件:右键点击 HTTP 请求 -> 添加 -> 配置元件 -> HTTP Header Manager; - 新增一条记录,Key 设定为 Authorization,Value 应当遵循 Bearer Schema 形式,即 `"Bearer <your_token>"`[^4]。 #### 示例代码片段 以下是针对上述流程的一个简单示例展示如何构建一个基本的 HTTP POST 请求: ```http POST /api/example/resource HTTP/1.1 Host: example.com Content-Type: application/json Authorization: Bearer abcdefg1234567890 { "name": "Test User", "age": 30 } ``` --- ### 注意事项 - 确认所有的必填项均已填充完毕,可参照 Swagger Parameters 来逐一核对。 - 若存在复杂的动态变量替换需求,考虑引入 CSV 文件读取功能来支持多轮次不同值注入。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值