Я использую майку с пружинной загрузкой, и у меня есть картограф исключения:
package org.smarter.providers;
import com.google.common.collect.ImmutableMap;
import org.smarter.exception.ApiException;
import javax.ws.rs.core.Response;
import javax.ws.rs.ext.Provider;
import java.util.Optional;
import static org.smarter.exception.UserException.UNAUTHORIZED;
@Provider
public class ExceptionMapper implements javax.ws.rs.ext.ExceptionMapper<ApiException> {
@Override
public Response toResponse(ApiException exception) {
return Response.status(status(exception)).build();
}
private Integer status(ApiException exception) {
return Optional.ofNullable(ImmutableMap.<String, Integer>builder()
.put(UNAUTHORIZED, 401)
.build()
.get(exception.code()))
.orElse(404);
}
}
Также зарегистрирован и с помощью отладки, я вижу, что этот маппер вызывается правильно, но как бы то ни было, окончательный ответ по-прежнему возвращает 404, независимо от того, используется ли тест junit или ручной тест.
Вот тест:
when()
.get("/users/current/memos/daily")
.then()
.statusCode(401);
И затем зарегистрирован в Джерси Конфигурация:
register(ExceptionMapper.class);
Я использую майку с пружинными сапогами и не знаю, как с этим справиться. Любой совет будет оценен.