Ich baue einen Web-Anwendung Ruhe-Controller mit Spring 5 Router-Funktionen zum Zuordnen von Anfragen.Wie kann man CORS in Router-Funktionen zulassen?
@RestController
public class AdminRest {
public RouterFunction<ServerResponse> route() {
return RouterFunctions
.route(RequestPredicates.GET("/admin/organizations"), this::getOrganizations);
}
}
Mit Angular 4 Projekt fungiert als ein Verbraucher für den Rest Controller.
public getOrganizations(): Observable<OrganizationsList> {
return this.http.get(this.getOrganizationsUrl)
.map((res: Response) => res.json())
.catch((error: any) => Observable.throw(error.json().error || 'Server error'));
}
Welche diesen Fehler zurück
XMLHttpRequest nicht http://ip:port/admin/organizations laden kann. Kein 'Access-Control-Allow-Origin'-Header ist auf der angeforderten Ressource vorhanden. Origin 'http://localhost:3000' ist daher nicht erlaubt. Die Antwort hatte den HTTP-Statuscode 500.
Wie kann ich CORS in Spring 5-Router-Funktion zulassen?
für weitere Informationen siehe Anmerkungen versehen Sie verwenden können, '.OPTIONS' nicht nur' .GET' als CORS funktioniert, indem eine Option anfordern Senden Sie zuerst die Header zu erhalten mit Berechtigungen in ihnen. –
@MartinBarker - Hat nicht funktioniert "XMLHttpRequest kann http: // ip: port/admin/organisationen nicht laden. Antwort auf Preflight-Anfrage nicht übergeben Kontrolle der Zugriffskontrolle: Nein" Access-Control-Allow-Origin "Header ist vorhanden auf der angeforderten Ressource. Daher ist 'http: // localhost: 3000' nicht erlaubt. Die Antwort hatte den HTTP-Statuscode 500. " –
so haben Sie einen Code-Fehler verhindert es auf die Optionen Anfrage zu reagieren verwenden Sie etwas wie ARC-Plugin für Chrom und Debug es auf diese Weise sehen, welche Fehler Ihr Server zurückschickt, wenn Sie können Fehlerprotokollierung auf Ihrem Server nicht einschalten und gehen Protokoll Trawling –