Джерси, Видимый с кодом состояния

Реализация JAX-RS Джерси поддерживает веб-приложения стиля MVC через Viewable класс, который является контейнером для шаблонного имени и объекта модели. Это используется как это:

@GET
public Viewable get() {
  return new Viewable("/index", "FOO");
}

Интересно, как код состояния мог быть возвращен с этим подходом. Вышеупомянутое неявно возвратилось бы 200, но это не было бы соответствующим в любом случае. Существует ли способ установить код состояния явно?

9
задан Bill the Lizard 30 July 2012 в 00:56
поделиться

2 ответа

Вам нужно будет вернуть Ответ , настроенный с правильным кодом состояния и заголовками, содержащими ваш Доступный для просмотра , например:

@GET
public Response get() {
  return Response.status(myCode).entity(new Viewable("/index", "FOO")).build();
}
15
ответ дан 4 December 2019 в 10:30
поделиться

Хм, вы можете создать собственный объект Response в майке следующим образом: это вернет 200:

@GET
public Response get() {
    URI uri=new URI("http://nohost/context");
    Viewable viewable=new Viewable("/index", "FOO");
    return Response.ok(viewable).build();
}

, чтобы вернуть что-то другое, используйте этот подход:

@GET
public Response get() {
    int statusCode=204;
    Viewable myViewable=new Viewable("/index","FOO");
    return Response.status(statusCode).entity(myViewable).build();
}

Надеюсь, что помогло ....

5
ответ дан 4 December 2019 в 10:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: