如何通过WireMock HTTP服务器将存根文件上传至__files文件夹?
通过WireMock API上传文件至__files目录的正确方法
当然可以通过WireMock的HTTP API上传文件到__files目录,你之前失败大概率是用错了API端点或者请求格式不对,以下是正确的操作方式:
- 正确的API端点:不是
/__admin/__files,而是POST /__admin/files/{filename},其中{filename}是你要上传的文件名称(比如my-stub-body.json)。 - 请求要求:
- 请求体直接传入文件的原始内容
- 根据文件类型设置对应的
Content-Type头,比如JSON文件用application/json,纯文本用text/plain,二进制文件用application/octet-stream
示例(用curl上传JSON存根文件)
假设你本地有一个user-stub.json文件,要上传到WireMock的__files目录,执行以下命令:
curl -X POST http://localhost:8080/__admin/files/user-stub.json \ -H "Content-Type: application/json" \ --data-binary @./user-stub.json
验证上传是否成功
你可以通过GET请求检查文件是否存在:
curl http://localhost:8080/__admin/files/user-stub.json
返回的响应体就是你上传的文件内容,说明上传成功。之后在映射定义里就可以通过"bodyFileName": "user-stub.json"来引用这个文件作为响应体。
注意事项
- 如果使用WireMock standalone模式,上传的文件会自动保存到运行目录下的
__files文件夹中;嵌入式模式则取决于你配置的文件根路径。 - 若上传时遇到权限问题,检查WireMock运行用户是否有对应目录的读写权限。
内容的提问来源于stack exchange,提问作者catch22
相关产品推荐
相关产品推荐

