2017-06-06 2 views
2

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?

+0

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. –

+0

@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. " –

+0

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 –

Antwort

0

Könnten Sie als

Bitte
@CrossOrigin(origins = "http://domain2.com", maxAge = 3600) 

Spring CORS documentation

+0

Während dieser Link die Frage beantworten kann, ist es besser, die wesentlichen Teile der Antwort hier aufzunehmen und den Link als Referenz bereitzustellen. Nur-Link-Antworten können ungültig werden, wenn sich die verknüpfte Seite ändert. - [Aus Bewertung] (/ review/low-quality-posts/18584735) – thewaywewere

Verwandte Themen