【发布时间】:2017-07-14 07:45:57
【问题描述】:
我已经有效地使用wiremock 有一段时间了,我想启用CORS 对模拟API 的访问。
我尝试在响应头中设置 Access-Control-Allow-Origin: * 和其他头,均无济于事。
这是我拥有的映射示例:
{
"request": {
"method": "POST",
"urlPattern": "/api/v2/general/login[\\/\\&\\?]*",
"bodyPatterns": [{
"equalToJson": "{\"password\":\"password\",\"username\":\"john@cougar.com\"} ",
"jsonCompareMode": "LENIENT",
"ignoreArrayOrder" : true,
"ignoreExtraElements" : true
}]
},
"response": {
"status": 200,
"headers": {
"Content-Type": "application/json",
"Access-Control-Allow-Origin" : "*",
"Access-Control-Allow-Methods" : "*",
"Access-Control-Allow-Headers": "Accept, Content-Type, Content-Encoding, Server, Transfer-Encoding",
"X-Content-Type-Options" : "nosniff",
"x-frame-options" : "DENY",
"x-xss-protection" : "1; mode=block"
},
"bodyFileName": "/login_response_johncougar.json"
}
}
我在这里做错了什么导致 CORS 无法工作?
提前致谢。
【问题讨论】:
-
您提出什么样的要求?如果它是 GET 以外的任何东西,您还需要实现一个带有一些 CORS 标头的 OPTIONS 存根。
-
@Tom,我同时发出 GET 和 POST 请求。 “使用一些 CORS 标头实现 OPTIONS 存根”是什么意思?
-
CORS 协议要求浏览器发出一个 OPTIONS “预检”请求,以在发出符合特定条件的请求之前检查允许他们做什么。值得一看developer.mozilla.org/en-US/docs/Web/HTTP/…
-
是否已解决,如果已解决,您是如何让它工作的?我为 OPTIONS 请求存根。但它并没有发出我想要的 POST。