Поддержка CORS для Jax-rs 2 AsyncResponse?

1

Я создал веб-сервис для отдыха с использованием Jax-rs 2. Он использует AsyncResponse для возврата ответа. Как я могу добавить поддержку CORS для моих веб-сервисов отдыха? Таким образом, любой может получить к нему доступ без каких-либо проблем с перекрестными доменами?

Мой примерный веб-сервис выглядит следующим образом

@GET
@Path("/test")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)

public void test(@Suspended AsyncResponse asyncResponse){
        asyncResponse.resume(Response.ok().build());
}

Спасибо!

Теги:
rest
jax-rs
glassfish
glassfish-2.x

1 ответ

0

У RestEasy есть CorsFilter. Но поскольку вы используете Glassfish, вы, скорее всего, используете Джерси. У Джерси, похоже, нет такого класса, который мы можем использовать. Тем не менее, CorsFilter для RestEasy реализует ContainterRequestFilter и ContainerResponseFilter (обратите внимание, что это функция Джерси 2.x(JAX-RS 2.0)).

Вы также можете увидеть исходный код для CorsFilter здесь, в GrepCode. Вы в основном хотите реализовать что-то похожее на этот класс, а затем зарегистрировать его как одноэлемент с приложением.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню