ホームページ >Java >&#&チュートリアル >Jersey を使用して JAX-RS アプリケーションに CORS を実装するにはどうすればよいですか?
Jersey で JAX-RS を使用した CORS の処理
概要
クロスオリジン リソース共有 (CORS) は、クロスオリジン HTTP リクエストを可能にするメカニズムです。これにより、2 つのサーバーの発信元が異なる場合でも、Web アプリケーションがリモート サーバーにリクエストを送信できるようになります。 CORS を実装するときは、単純なリクエストとプリフライト リクエストの両方を考慮することが重要です。
ソリューション
Jersey を使用して JAX-RS で CORS を処理するには、ContainerResponseFilter を使用できます。次のセクションでは、Jersey 1.x と 2.x の両方の実装について説明します。
Jersey 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"); } }
Jersey 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; } }
これらのフィルターのいずれかを実装すると、次のことが可能になります。 Jersey を使用して構築された JAX-RS Web アプリケーションでの CORS サポート。
以上がJersey を使用して JAX-RS アプリケーションに CORS を実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。