0
Java Jerseyのプリフライトリクエストヘッダーを知る方法はありますか、プリフライトリクエストに異なる応答を送信する方法はありますか?REST API Jerseyでプリフライトリクエストを検出する方法はありますか?
と仮定私は、次のコードを持っている:
@Path("/releaseClient")
@POST
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
public JSONObject releaseClient(JSONObject clientAndUser, @Context HttpServletRequest request) throws JSONException{
int clientId = clientAndUser.getInt("id");
String userId = clientAndUser.getString("user");
JSONObject res = new JSONObject();
// Check if profile is locked by current user and if so release profile
if(clientLockService.unlockClient(clientId, userId)){
res.put("success", clientService.returnClientInfo(clientId));
} else {
// If not then set error message
res.put("error", "Profile is not locked by current user");
}
return res;
}
今最初のブラウザは、プリフライトリクエストを送信しますが。プリフライト要求のために応答ヘッダーを操作できる方法はありますか?
はい、先ほどの@Optionメソッドを試しましたが、デバッガでそれらをキャプチャすることはできず、ログもありませんでした。私は何か間違ったことがあります。しかし、それは唯一の方法ですか? –
フィルタを使用します。それはあなたの最善の策です。 –
フィルターも使用しました。しかし、CORSの問題は解決しなかった。 Chromium portableを使用していました。 Webセキュリティを無効にした後でのみ動作するようにしました。しかし、これはベストプラクティスではなかったので、より良い解決策を見つけることができました。 –