Rumah > Java > javaTutorial > Bagaimana untuk Melaksanakan CORS dalam Aplikasi Jersi JAX-RS?

Bagaimana untuk Melaksanakan CORS dalam Aplikasi Jersi JAX-RS?

Patricia Arquette
Lepaskan: 2024-12-19 12:20:16
asal
424 orang telah melayarinya

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

Mengendalikan CORS dengan JAX-RS Menggunakan Jersi

Untuk memudahkan Perkongsian Sumber Silang (CORS) dalam aplikasi JAX-RS berasaskan Jersi anda, anda perlu untuk melaksanakan ContainerResponseFilter. Berikut ialah pelaksanaan yang sesuai untuk Jersey versi 1.x dan 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");
    }
}
Salin selepas log masuk

Daftar penapis ini dalam ResourceConfig anda atau secara manual melalui web.xml.

Jersi 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;
    }
}
Salin selepas log masuk

Konfigurasikan penapis ini melalui web.xml atau ResourceConfig.

Nota: Pastikan penapis digunakan secara terpilih pada sumber yang diingini untuk mengelakkan daripada mendedahkan maklumat sensitif.

Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan CORS dalam Aplikasi Jersi JAX-RS?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan