Wpis z mikrobloga

#programowanie #frontend #backend #springboot #angular

Mam pytanie odnośnie CORS-a, dla znającej dokładnie temat osoby chyba banalne:

Postawiłem sobie 2 aplikacje w Spring-Boocie (API i klient) i 1 w Angularze (klient). W API nie konfigurowałem nic odnośnie CORS-a, wejściowo chciałem mieć sytuację, w której request będzie przez przeglądarkę blokowany. Dla apki w Angularze dokładnie tak się stało, natomiast jeśli chodzi o klienta w Spring-Boocie, to niezależnie od tego czy mam konfigurację w API czy nie, requesty zawsze przechodzą. Pytanie brzmi: od czego zależy blokowanie requestów przez przeglądarkę? Czy chodzi o to, że dla Spring-Boota przeglądarka wypluwa mi po prostu JSON-a, a nie jest tam użyty np. HTML / JS / TS? Poniżej kod serwisu łączącego się z API.

@Service
public class CorsSetupHttpClient {
private final String CORS_SETUP_URL = "http://localhost:8080/person";
private final HttpClient httpClient;

public CorsSetupHttpClient() {
this.httpClient = HttpClient.newBuilder()
.version(HttpClient.Version.HTTP_1_1)
.build();
}

public String getPerson() throws URISyntaxException, IOException, InterruptedException {
HttpRequest request = HttpRequest.newBuilder()
.uri(new URI(CORS_SETUP_URL))
.GET()
.build();

HttpResponse response = httpClient.send(request, HttpResponse.BodyHandlers.ofString());
return response.body();
}
}
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

czy można to podsumować tak, że generalnie nie jest to zapytanie AJAX-owe, nie wykonuje się tutaj żaden skrypt, np. JS-a, a Angular na TS-ie już wymaga konfiguracji CORS-a po stronie serwera?


@herbatkaZCukremBezCytrynki: twoje API używa HTTP, a w nim nie ma nic o corsach. CORS to mechanizm wbudowany w przeglądarki i nie ma nic wspólnego z użytym frameworkiem.
  • Odpowiedz