2016-02-24 2 views
1

Около половины из многих конструкторов ClientErrorException возьмите Response.Status. Но почему нет способа вернуть его? Разве у него нет какой-либо цели, кроме проверки в javax.ws.rs.WebApplicationException#validate(javax.ws.rs.core.Response, javax.ws.rs.core.Response.Status.Family)?Получить статус от ClientErrorException

Я думал, что способ его использования будет расширять его

public class WhateverInvalidInRequestException extends ClientErrorException { 

    public WhateverInvalidInRequestException (String message) { 
     super(message, Response.Status.BAD_REQUEST); 
    } 
} 

И затем использовать один ExceptionMapper для всех подклассов, что очень удобно

@Provider 
public class ClientErrorExceptionMapper implements ExceptionMapper<ClientErrorException> { 

    @Override 
    public Response toResponse(ClientErrorException exception) { 
     return Response.status(exception.getStatus()).entity(exception.getMessage()).build(); 
    } 
} 

Но нет такого предмет как exception.getStatus().

Что мне не хватает?

ответ

2

Вы можете получить это так:

exception.getResponse().getStatus() 
Смежные вопросы