You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Wiremock针对HEAD请求返回404错误的问题咨询

Wiremock HEAD请求静态文件返回404的原因及解决办法

原因

Wiremock 默认的静态文件服务仅对 GET 请求配置了自动路由映射,HEAD 请求不会被自动关联到对应的静态资源。当你发送 HEAD 请求时,Wiremock 找不到匹配的路由规则,因此返回 404 错误。

尽管 HTTP 规范要求 HEAD 请求应返回与对应 GET 请求一致的响应头(不含响应体),但 Wiremock 的默认静态资源处理逻辑并未实现这一自动映射,必须手动配置规则来支持。

解决方法

1. 单独配置 HEAD 请求路由

在 Wiremock 的 mappings 目录下创建映射文件(例如 head-myfile-mapping.json),内容如下:

{
  "request": {
    "method": "HEAD",
    "url": "/api/file/myfile.json"
  },
  "response": {
    "status": 200,
    "bodyFileName": "api/files/myfile.json"
  }
}

Wiremock 会读取指定文件的元信息(如 Content-Type、Content-Length)并返回响应头,不会返回响应体,符合 HEAD 请求的要求。

2. 让现有 GET 映射兼容 HEAD 请求

如果希望同一路由同时支持 GET 和 HEAD,可以修改映射文件的 method 字段为正则匹配:

{
  "request": {
    "method": {"matches": "GET|HEAD"},
    "url": "/api/file/myfile.json"
  },
  "response": {
    "status": 200,
    "bodyFileName": "api/files/myfile.json"
  }
}

这样两种请求方法都会匹配到该路由,Wiremock 会自动处理 HEAD 请求仅返回响应头的逻辑。


内容的提问来源于stack exchange,提问作者Guenhaël

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 03:11:01