WireMock代理不返回任何身体

时间:2016-11-17 12:33:54

标签: android rest mocking wiremock

我的应用程序确实将请求发布到网址:

  

https://myserver.domain.com/authenticate/credentials

OkHttp客户端拦截器显示我的标题:

  

11-17 10:10:56.780 3140-3304 / com.myapp.debug D / OkHttp:Content-Type:   application / x-www-form-urlencoded

     

11-17 10:10:56.780 3140-3304 / com.myapp.debug D / OkHttp:Content-Length:   187

     

11-17 10:10:56.781 3140-3304 / com.myapp.debug D / OkHttp:授权:   基本authorisationkeyfortest5430593045903495034905 ==

     

11-17 10:10:56.781 3140-3304 / com.myapp.debug D / OkHttp:   电子邮件= TESTLOGIN%40gmail.com&安培;密码=测试%4012安培; DEVICEID = 1484564155&安培; DEVICELABEL =的Android%20SDK%20built%20for%20x86_64&安培;设备类型=机器人&安培; deviceVersion = 23%20%28REL%29

我创建了独立的WireMock服务器,我希望将每个POST请求从我的APP重定向到我的WireMock服务器。这就是为什么我在请求定义中添加了* .JSON:

{
    "request": {
        "method": "POST",
        "urlPattern": ".*"
    },
    "response": {
        "proxyBaseUrl" : "https://myserver.domain.com/",
        "additionalProxyRequestHeaders": {
            "Authorization": "Basic authorisationkeyfortest5430593045903495034905==  "
        }
    }
}

我期望会发生什么:

当我将Http客户端的基本路径从https://myserver.domain.com/更改为http://myserveraddress.com/时 - 我的应用程序的每个请求都应该转到我的MockServer。根据上面的JSON,MockServer应该将该请求代理/转发给https://myserver.domain.com/并返回相同的响应 - 所以一切都应该正常工作。

会发生什么:

每个POST请求返回状态200,但正文为空。 (它应该返回经过身份验证的用户对象)

问题:是否有可能实现这一目标?我做错了吗?

1 个答案:

答案 0 :(得分:0)

尝试在“__files”文件夹中添加您的正文,并在“bodyFileName”中设置路径

{
"request": {
    "method": "POST",
    "urlPattern": ".*"
},
"response": {
    "proxyBaseUrl" : "https://myserver.domain.com/",
    "additionalProxyRequestHeaders": {
        "Authorization": "Basic authorisationkeyfortest5430593045903495034905==  "
    },
    "bodyFileName":".*.json"
}

在JSON文件中提出你的答案。例如:

{ "errorCode": 0, "errorMessage": "", "result": { "filed1":"value", "filed2":"value" } }