Berurusan dengan CORS Menggunakan JAX-RS dengan Jersi
Pengenalan
Sumber Cross-Origin Perkongsian (CORS) ialah mekanisme yang membolehkan permintaan HTTP silang asal. Ia membolehkan aplikasi web membuat permintaan kepada pelayan jauh, walaupun asal dua pelayan itu berbeza. Apabila melaksanakan CORS, adalah penting untuk mempertimbangkan kedua-dua permintaan mudah dan prapenerbangan.
Penyelesaian
Untuk mengendalikan CORS dalam JAX-RS dengan Jersi, ContainerResponseFilter boleh digunakan. Bahagian berikut menyediakan pelaksanaan untuk kedua-dua Jersi 1.x dan 2.x.
Untuk Jersi 2.x:
import javax.ws.rs.container.ContainerResponseFilter; import javax.ws.rs.container.ContainerRequestContext; import javax.ws.rs.container.ContainerResponseContext; import javax.ws.rs.core.Response; import java.io.IOException; @Provider public class CORSFilter implements ContainerResponseFilter { @Override public void filter(ContainerRequestContext requestContext, ContainerResponseContext responseContext) throws IOException { responseContext.getHeaders().add("Access-Control-Allow-Origin", "*"); responseContext.getHeaders().add("Access-Control-Allow-Headers", "CSRF-Token, X-Requested-By, Authorization, Content-Type"); responseContext.getHeaders().add("Access-Control-Allow-Credentials", "true"); responseContext.getHeaders().add("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS, HEAD"); } }
Untuk Jersi 1. x:
import com.sun.jersey.spi.container.ContainerResponseFilter; import com.sun.jersey.spi.container.ContainerResponse; import com.sun.jersey.spi.container.ContainerRequest; @Provider public class CORSFilter implements ContainerResponseFilter { @Override public ContainerResponse filter(ContainerRequest requestContext, ContainerResponse responseContext) { responseContext.getHttpHeaders().add("Access-Control-Allow-Origin", "*"); responseContext.getHttpHeaders().add("Access-Control-Allow-Headers", "CSRF-Token, X-Requested-By, Authorization, Content-Type"); responseContext.getHttpHeaders().add("Access-Control-Allow-Credentials", "true"); responseContext.getHttpHeaders().add("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS, HEAD"); return responseContext; } }
Dengan melaksanakan salah satu daripada penapis ini, anda boleh mendayakan sokongan CORS dalam Aplikasi web JAX-RS dibina menggunakan Jersi.
Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan CORS dalam Aplikasi JAX-RS Menggunakan Jersi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!