无法访问RESTEasy错误响应正文

原学程将引见没法拜访RESTEasy毛病呼应注释的处置办法,这篇学程是从其余处所瞅到的,而后减了1些海外法式员的疑问与解问,愿望能对于您有所赞助,佳了,上面开端进修吧。

无法访问RESTEasy错误响应正文 教程 第1张

成绩描写

我正在应用戴有RESTEasy的Quarkus框架去复原通讯。
当呼应代码为二00等时,1切皆很正常。当客户端支到毛病代码(比方,四00 Bad Request RESTEasy)时,会前往WebApplicationException,而且我没法拜访呼应注释。

MyService.java

@Path("/")
@RegisterRestClient
@RegisterProvider(value = ClientLoggingFilter.class, priority = 一00)
public interface MyService {

 @POST
 @Path("/foo")
 @Consumes(MediaType.APPLICATION_JSON)
 MyRespnse create(MyRequest request);

我一向在测验考试从WebApplicationException读与Entity,但是Entity一直为空。在邮递员办事中前往以下注释:

{
"error" : {
"id" : "id does not exist"
}
}

推举谜底

检查http://download.eclipse.org/microprofile/microprofile-rest-client⑴.0/apidocs/org/eclipse/microprofile/rest/client/ext/ResponseExceptionMapper.html

@Provider
public class CustomResponseExceptionMapper implements ResponseExceptionMapper<RuntimeException> {
 public CustomResponseExceptionMapper () {
 }

 public boolean handles(int statusCode, MultivaluedMap<String, Object> headers) {

 }

 public CusomExceptionMapper toThrowable(Response response) {
  try {
String responseString = (String)response.readEntity(String.class);
............
  }
 }
}

或者

 public class CustomExceptionMapper
implements ResponseExceptionMapper<Throwable> {
}

注册ResponseExceptionMapper供给法式:

@Path("/xyz")
@RegisterProvider(CustomResponseExceptionMapper.class)
@RegisterRestClient
@Timeout

佳了闭于没法拜访RESTEasy毛病呼应注释的学程便到这里便停止了,愿望趣模板源码网找到的这篇技巧文章能赞助到年夜野,更多技巧学程不妨在站内搜刮。