From 6d3e6657eee118489873d79dc0098f085f3d049c Mon Sep 17 00:00:00 2001 From: RoyceDa Date: Mon, 16 Feb 2026 16:33:48 +0200 Subject: [PATCH] =?UTF-8?q?=D0=A0=D0=B0=D0=B7=D1=80=D0=B5=D1=88=D0=B0?= =?UTF-8?q?=D0=B5=D0=BC=20CORS?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/im/rosetta/CorsFilter.java | 20 +++++++++++++++++++ .../java/im/rosetta/config/AppConfig.java | 3 +++ 2 files changed, 23 insertions(+) create mode 100644 src/main/java/im/rosetta/CorsFilter.java diff --git a/src/main/java/im/rosetta/CorsFilter.java b/src/main/java/im/rosetta/CorsFilter.java new file mode 100644 index 0000000..01e48a0 --- /dev/null +++ b/src/main/java/im/rosetta/CorsFilter.java @@ -0,0 +1,20 @@ +package im.rosetta; + +import java.io.IOException; + +import jakarta.ws.rs.container.ContainerRequestContext; +import jakarta.ws.rs.container.ContainerResponseContext; +import jakarta.ws.rs.container.ContainerResponseFilter; + +/** + * Разрешает CORS для всех доменов, чтобы клиенты могли обращаться напрямую из браузера + */ +public class CorsFilter implements ContainerResponseFilter { + + @Override + public void filter(ContainerRequestContext requestContext, ContainerResponseContext responseContext) + throws IOException { + responseContext.getHeaders().add("Access-Control-Allow-Origin", "*"); + } + +} diff --git a/src/main/java/im/rosetta/config/AppConfig.java b/src/main/java/im/rosetta/config/AppConfig.java index ea0727c..424590e 100644 --- a/src/main/java/im/rosetta/config/AppConfig.java +++ b/src/main/java/im/rosetta/config/AppConfig.java @@ -3,11 +3,14 @@ package im.rosetta.config; import org.glassfish.jersey.jackson.JacksonFeature; import org.glassfish.jersey.server.ResourceConfig; +import im.rosetta.CorsFilter; + public class AppConfig extends ResourceConfig { public AppConfig() { // Регистрируем REST-ресурсы. packages("im.rosetta.api"); // Включаем JSON-сериализацию. register(JacksonFeature.class); + register(CorsFilter.class); } }