Resteasy error response body is unreachable(无法访问RESTEasy错误响应正文)
本文介绍了无法访问RESTEasy错误响应正文的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在使用带有RESTEasy的Quarkus框架来恢复通信。 当响应代码为200等时,一切都很正常。当客户端收到错误代码(例如,400 Bad Request RESTEasy)时,会返回WebApplicationException,并且我无法访问响应正文。
MyService.java
@Path("/")
@RegisterRestClient
@RegisterProvider(value = ClientLoggingFilter.class, priority = 100)
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-1.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错误响应正文的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:无法访问RESTEasy错误响应正文


基础教程推荐
猜你喜欢
- Java Keytool 导入证书后出错,"keytool error: java.io.FileNotFoundException &拒绝访问" 2022-01-01
- 无法使用修饰符“public final"访问 java.util.Ha 2022-01-01
- “未找到匹配项"使用 matcher 的 group 方法时 2022-01-01
- 如何使用 Java 创建 X509 证书? 2022-01-01
- Java:带有char数组的println给出乱码 2022-01-01
- 减少 JVM 暂停时间 >1 秒使用 UseConcMarkSweepGC 2022-01-01
- 在 Libgdx 中处理屏幕的正确方法 2022-01-01
- FirebaseListAdapter 不推送聊天应用程序的单个项目 - Firebase-Ui 3.1 2022-01-01
- 降序排序:Java Map 2022-01-01
- 设置 bean 时出现 Nullpointerexception 2022-01-01