java server add - Wie man mit CORS JAX-RS mit Jersey handhabt





3 Answers

Die andere Antwort könnte streng korrekt, aber irreführend sein. Der fehlende Teil ist, dass Sie Filter aus verschiedenen Quellen zusammen mischen können. Auch wenn Jersey möglicherweise keinen CORS-Filter liefert (keine Tatsache, die ich überprüft habe, aber ich vertraue der anderen Antwort darauf), können Sie den eigenen CORS-Filter von tomcat verwenden .

Ich benutze es erfolgreich mit Jersey. Ich habe meine eigene Implementierung von Basic Authentication Filter, zum Beispiel zusammen mit CORS. Das Beste daran ist, dass der CORS-Filter in Web-XML und nicht in Code konfiguriert ist.

spring boot jaxrs

Ich entwickle eine Java-Script-Client-Anwendung, auf Serverseite muss ich mit CORS umgehen, alle Dienste, die ich in JAX-RS mit JERSEY geschrieben habe. Mein Code:

@CrossOriginResourceSharing(allowAllOrigins = true)
@GET
@Path("/readOthersCalendar")
@Produces("application/json")
public Response readOthersCalendar(String dataJson) throws Exception {  
     //my code. Edited by gimbal2 to fix formatting
     return Response.status(status).entity(jsonResponse).header("Access-Control-Allow-Origin", "*").build();
}

Ab sofort bekomme ich Fehler. Kein 'Access-Control-Allow-Origin'-Header ist auf der angeforderten Ressource vorhanden. Origin ' http: // localhost: 8080 ' ist daher nicht erlaubt. "

Bitte helfen Sie mir dabei.

Danke und Grüße Buddha Puneeth




Entfernen Sie die Annotation " @CrossOriginResourceSharing(allowAllOrigins = true) "

Dann Antwort wie folgt:

return Response.ok()
               .entity(jsonResponse)
               .header("Access-Control-Allow-Origin", "*")
               .build();

Aber die jsonResponse sollte durch ein POJO-Objekt ersetzt werden!




Mit JAX-RS können Sie einfach die Annotation @CrossOrigin(origin = yourURL) zu Ihrem Ressourcen-Controller hinzufügen. In Ihrem Fall wäre @CrossOrigin(origin = "http://localhost:8080") aber Sie könnten auch @CrossOrigin(origin = "*") , um jede Anfrage über Ihren Webservice zu ermöglichen.
Sie können dies für weitere Informationen überprüfen.




Related