我正在制作一个模拟邮递员收藏,以便在android应用中使用。我从一个简单的{{url}}/user/login
端点开始,似乎在Content-Type
标头上遇到了麻烦。 Retrofit默认将其添加为application/json; charset=UTF-8
,这很好,但是问题是内容正文匹配器似乎无法匹配我的请求的正文。在邮递员中这也不起作用,我的例子是-
Successful Request
Request Headers
Content-Type - application/json
Request Body
{
"username": "user1",
"password": "123"
}
Response Body
{
"first_name" : "user",
"last_name": "one"
}
(我在改造和邮递员的请求中都使用x-mock-match-request-body
标头)。
当我从我的应用发送请求时,该请求可以记录为-
D/OkHttp: --> POST {{url}}/user/login http/1.1
D/OkHttp: Content-Type: application/json; charset=UTF-8
D/OkHttp: Content-Length: 37
D/OkHttp: {"password":"123","username":"user1"}
D/OkHttp: --> END POST (37-byte body)
D/OkHttp: <-- 404 Not Found {{url}}/user/login (949ms)
D/OkHttp: Access-Control-Allow-Origin: *
D/OkHttp: Content-Type: application/json; charset=utf-8
D/OkHttp: Date: Thu, 26 Dec 2019 22:33:50 GMT
D/OkHttp: ETag: W/"96-TmaW8mJnRKK42sZor5CoHUxYs00"
D/OkHttp: Server: nginx
D/OkHttp: Vary: Accept-Encoding
D/OkHttp: x-srv-span: v=1;s=9d533722ff5763e0
D/OkHttp: x-srv-trace: v=1;t=e07f6fb3917ed6bb
D/OkHttp: Connection: keep-alive
D/OkHttp: {"error":{"name":"mockRequestNotFoundError","header":"No matching requests","message":"Double check your method and the request path and try again."}}
D/OkHttp: <-- END HTTP (150-byte body)
很显然这与某种方式的匹配不正确,这很奇怪,我假设它是Content-Type
标头为application/json; charset=utf-8
,所以如果我在Example和request的邮递员中都进行了更改,不再匹配。
最近有没有人遇到这种情况并且知道解决方案?