2017-02-23 12 views
2

私はしばらくの間ワイヤモックを効果的に使用してきましたが、私は模擬したAPIへのCORSアクセスを有効にしたかったのです。Wiremock CORSが機能しない

レスポンスヘッダーのAccess-Control-Allow-Origin:*とその他のヘッダーを設定してみましたが、どちらも役に立たなくなっています。

は、ここで私が持っているマッピングの例です:

{ 
    "request": { 
     "method": "POST", 
     "urlPattern": "/api/v2/general/login[\\/\\&\\?]*", 
     "bodyPatterns": [{ 
      "equalToJson": "{\"password\":\"password\",\"username\":\"[email protected]\"} ", 
      "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が動作しないことが原因だということをここで間違って何をしているのですか?

ありがとうございます。ここで

+0

どのようなリクエストをしていますか? GET以外のものであれば、いくつかのCORSヘッダとともにOPTIONSスタブを実装する必要があります。 – Tom

+0

@Tom、私はGETとPOSTの両方のリクエストを行っています。 「いくつかのCORSヘッダーでOPTIONSスタブを実装する」とはどういう意味ですか? – johncougar

+0

CORSプロトコルでは、特定の条件に一致するリクエストを行う前に、ブラウザがOPTIONSの「プリフライト」リクエストを実行して、何が許可されているかを確認する必要があります。 https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS#Preflighted_requests – Tom

答えて

1

はサンプルであり、これはそのまま

{ 
"request": 
{ 
"urlPattern": "/country/([a-z]*)", 
"method": "GET" 
}, 

"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" 
}, 
"body": "{ \"statusCode\" : \"S1000\", \"statusDescription\" : \"Success\", \"content\" : [ { \"id\" : \"1111\", \"name\" : \"aaaa\"}, { \"id\" : \"2222\", \"name\" : \"asd\" } ] }" 
} 
} 

使用この作品、それが間隔になると、wiremockは独特で、ここで私は、単一のスペースの代わりにタブを使用している、それが役に立てば幸い。

関連する問題