另一种选择是使用Fiddler的AutoResponder选项卡(在右侧面板上)。 这使您可以捕获对与字符串匹配的任何URI的请求,并提供来自文件的“罐头”响应。 该文件可以包含标头和有效负载。 这种方法的优点是您不必编写FiddlerScript,也不必通过断点手动处理每个请求。
您将在Fiddler中设置规则,如下所示(确保启用不匹配的请求传递,否则所有其他http请求都会失败)。
在此示例中,任何URI包含“ fooBar”的请求都将获得罐装响应。 文件的格式将根据您的API而有所不同(您可以使用浏览器来拦截“真实”响应并以此为基础),但是我的看起来像以下内容:
HTTP/1.1 409 Conflict
Server: Apache-Coyote/1.1
X-Powered-By: Servlet 2.5; JBoss-5.0/JBossWeb-2.1
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, DELETE, PUT, PATCH, OPTIONS
Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept, Authorization
Access-Control-Max-Age: 86400
Content-Type: application/vnd.api+json
Content-Length: 149
Date: Tue, 28 Mar 2017 10:03:29 GMT
{"errors":[{"code":"OutOfStock","detail":"Item not in stock","source":{"lineId":{"type":"Order line Number","id":"1"}},"meta":{"availableStock":0}}]}
我发现它需要在最后一行的末尾(即json之后)返回回车符,并且Content-Length标头必须与json中的字符数匹配,否则webapp会挂起。 你的旅费可能会改变。