3

JerseyのMessageBodyWriterでHTTPステータスを変更するにはどうすればよいですか? writeTo メソッドの httpHeaders と entityStream を介してヘッダーと本文の応答メッセージを変更できることはわかっていますが、HTTP ステータスを変更する方法はわかりません。

@Provider
@Produces(MediaType.APPLICATION_JSON)
public class MessageBodyWriterJSON implements MessageBodyWriter<Object> {

    @Override
    public void writeTo(Object t, Class<?> type, Type genericType,
        Annotation[] annotations, MediaType mediaType,
        MultivaluedMap<String, Object> httpHeaders,
        OutputStream entityStream) throws IOException,
        WebApplicationException {
        // ...???
    }

}
4

1 に答える 1

4

WebApplicationException をスローすることで、http ステータスを変更できます。

Response response = Response.status(Response.Status.INTERNAL_SERVER_ERROR).build();
throw new WebApplicationException(response);
于 2013-05-25T17:00:29.070 に答える