Hata Ekran Görüntüsü:Jersey - uçuş öncesi isteğe yanıt erişim kontrollerine geçemezse: No 'Erişim-Control-Allow-Origin'
aşağıdaki benim API sınıfı hangi yazdım @OPTIONS yöntemi için kod.
@OPTIONS
public Response OptionsFirstRequst(){
return Response.ok()
.header("Access-Control-Allow-Origin", "*")
.header("Access-Control-Allow-Methods", "*")
.header("Access-Control-Allow-Headers", "*").build();
}
Her bir istek için yanıt gönderdiğim Response Builder adlı bir sınıf oluşturdum.
public class ResponseBuilder {
public int status;
public HashMap data;
public String error;
public static Response ok(int Status_code, HashMap<String, String> data, String Response_error) {
if (data == null) {
data = new HashMap();
}
ResponseBuilder response = new ResponseBuilder();
response.status = Status_code;
response.data = data;
response.error = Response_error;
return Response.status(Status_code).entity(response)
.header("Access-Control-Allow-Origin", "*")
.header("Access-Control-Allow-Methods", "*")
.header("Access-Control-Allow-Headers", "*").build();
}
public static Response error(int Status_code, HashMap<String, String> data, String Response_error) {
if (data == null) {
data = new HashMap();
}
ResponseBuilder response = new ResponseBuilder();
response.status = Status_code;
response.data = data;
response.error = Response_error;
response.data = new HashMap();
return Response.status(Status_code).entity(response)
.header("Access-Control-Allow-Origin", "*")
.header("Access-Control-Allow-Methods", "*")
.header("Access-Control-Allow-Headers", "*").build();
}
}
Ben de giriş haricinde her istek için belirteci doğrulayan bir istek filtresi vardır: aşağıdaki Tepki Oluşturucu sınıfı için kodudur.
Oturum açabiliyorum, oluşturucuyu oluşturabilir ve tarayıcıya geri verebiliyorum. Ancak profilin üzerine tıklarsam giriş yaptıktan sonra.
Yanıtı 200 olarak aldım (tarayıcının dev araçları ağında gösterildiği gibi), ancak hiçbir veri/doğru yanıt almıyorum.
Ve aşağıdaki hatayı alıyorum.
Ön kontrol isteğine yanıt, erişim denetimi denetimini geçmez: İstenen kaynağa 'Erişim Denetimi-İzin-Kökeni' başlığı yok.
Ne 'ApplicationConfig.accessControlAllowedOrigins'' ApplicationConfig' içinde benziyor? – antogerva
Access-Control-Allow-Origin öğesinin değerini içeren bir dizedir. Bakınız: https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORSe.g. Bir Joker veya Tek bir URL veya URL'lerin virgülle ayrılmış listesi. –