Ndërsa përpiqem të lidhem me API-të e mia të Rest nëpërmjet Angular, po has në atë që duket të jetë një çështje mjaft e drejtpërdrejtë e CORS:
Kërkesa për origjinë të ndërthurur u bllokua: Politika e njëjtë e origjinës nuk lejon leximin e burimit në distancë në http://mserverIP:port/apicontext/getsitebyuserid/userId. (Arsyeja: Titulli i CORS 'Access-Control-Allow-Origin' mungon).
API-të e mia janë konfiguruar në Springboot dhe unë kam provuar tashmë si më poshtë:
Vendosni shënimin @CrossOrigin(origins = "*") në nivelet e klasës dhe metodës. Aktivizohet gjithashtu GET, POST, OPTIONS për origjinë të kryqëzuar si dhe lejohet për të gjitha kokat.
Konfiguro konfigurimin e shtuar CORS globalisht me kodin e mëposhtëm:
httpServletResponse.setHeader("Access-Control-Allow-Origin","*"); httpServletResponse.setHeader("Access-Control-Allow-Methods","GET,POST,OPTIONS,HEAD"); httpServletResponse.setHeader("Access-Control-Max-Age", "7200"); httpServletResponse.setHeader("Access-Control-Allow-Headers", "Content-Type, X-Requested-With, accept, authorization, Origin, Access-Control-Request-Method, Access-Control-Request-Headers");
E provova nëpërmjet vërtetimit të përfaqësuesit (autentifikimi që përdoret është JWT).
Ky informacion mund të jetë jetik: për një API të paautentikuar, çështja CORS nuk ndodh, por për rrugët e mbrojtura, ai kthen 403. Problemi për rrugët e mbrojtura ndodh edhe nëse nuk e kam vendosur titullin e vërtetimit në "true".
Gjithashtu, kam vënë re më herët se gjatë para nisjes së avionit, kombinimi i tij prej 2 kokash po shkakton problemin. Nëse dërgoj origjinën: http://localhost:4200 dhe Access-Control-Request-Method: GET it del gabime. Por nëse dërgoj një nga titujt funksionon. Gjatë kërkesës OPTIONS, nëse ka një titull të kërkesës që quhet origjinë, kërkesa dështon. Nëse i heq origjinën postierit, funksionon.