Heim > Java > javaLernprogramm > Wie implementiert man CORS in einer Jersey JAX-RS-Anwendung?

Wie implementiert man CORS in einer Jersey JAX-RS-Anwendung?

Patricia Arquette
Freigeben: 2024-12-19 12:20:16
Original
474 Leute haben es durchsucht

How to Implement CORS in a Jersey JAX-RS Application?

Umgang mit CORS mit JAX-RS unter Verwendung von Jersey

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:

Jersey 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");
    }
}
Nach dem Login kopieren

Registrieren Sie diesen Filter in Ihrer ResourceConfig oder manuell über web.xml.

Jersey 1.x

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;
    }
}
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage