Heim >Java >javaLernprogramm >Wie implementiert man CORS in einer Jersey JAX-RS-Anwendung?
Um Cross-Origin Resource Sharing (CORS) in Ihrer Jersey-basierten JAX-RS-Anwendung zu ermöglichen, benötigen Sie Folgendes um einen ContainerResponseFilter zu implementieren. Hier ist die entsprechende Implementierung für die Jersey-Versionen 1.x und 2.x:
import javax.ws.rs.container.ContainerRequestContext; import javax.ws.rs.container.ContainerResponseContext; import javax.ws.rs.container.ContainerResponseFilter; import javax.ws.rs.core.HttpHeaders; @Provider public class CORSFilter implements ContainerResponseFilter { @Override public void filter(ContainerRequestContext request, ContainerResponseContext response) { response.getHeaders().add(HttpHeaders.ACCESS_CONTROL_ALLOW_ORIGIN, "*"); response.getHeaders().add(HttpHeaders.ACCESS_CONTROL_ALLOW_HEADERS, "CSRF-Token, X-Requested-By, Authorization, Content-Type"); response.getHeaders().add(HttpHeaders.ACCESS_CONTROL_ALLOW_CREDENTIALS, "true"); response.getHeaders().add(HttpHeaders.ACCESS_CONTROL_ALLOW_METHODS, "GET, POST, PUT, DELETE, OPTIONS, HEAD"); } }
Registrieren Sie diesen Filter in Ihrer ResourceConfig oder manuell über web.xml.
import com.sun.jersey.spi.container.ContainerRequest; import com.sun.jersey.spi.container.ContainerResponse; import com.sun.jersey.spi.container.ContainerResponseFilter; @Provider public class CORSFilter implements ContainerResponseFilter { @Override public ContainerResponse filter(ContainerRequest request, ContainerResponse response) { response.getHttpHeaders().add("Access-Control-Allow-Origin", "*"); response.getHttpHeaders().add("Access-Control-Allow-Headers", "CSRF-Token, X-Requested-By, Authorization, Content-Type"); response.getHttpHeaders().add("Access-Control-Allow-Credentials", "true"); response.getHttpHeaders().add("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS, HEAD"); return response; } }
Konfigurieren Sie diesen Filter über web.xml oder ResourceConfig.
Hinweis: Stellen Sie sicher, dass der Filter selektiv auf die gewünschten Ressourcen angewendet wird, um die Offenlegung sensibler Informationen zu vermeiden.
Das obige ist der detaillierte Inhalt vonWie implementiert man CORS in einer Jersey JAX-RS-Anwendung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!