当前位置: 首页 > 知识库问答 >
问题:

调试 RestEasy RestClient

仲孙阳
2023-03-14

我正在使用quarkus中的框架为mandrill API构建一个rest客户端

@RegisterRestClient
@Path("1.0")
@Produces("application/json")
@Consumes("application/json")
public interface MailService {
    @POST
    @Path("/messages/send-template.json")
    JsonObject ping(JsonObject mandrillInput);
}  

这是application.properties的相关部分

com.example.service.MailService/mp-rest/url=https:/mandrillapp.com/api

我的示例资源

@Path("/hello")
public class ExampleResource {

    @Inject
    @RestClient
    MailService mailService;

    @Produces(MediaType.TEXT_PLAIN)
    @GET
    public String hello() {
        System.out.print("In the API");
        JsonObject key = Json.createObjectBuilder().add("key", "ABCD").build();
        System.out.println("The json built is "+key);
        JsonObject response = mailService.ping(key);
        System.out.println("The response is " + response);
        return "hello";
    }
}  

我看到的是,如果我正在调用的API(在这种情况下是Madrill)返回错误响应(例如,如果我的密钥是错误的),那么我用来存储响应的变量不会得到响应。相反,我向我的应用程序公开的REST API围绕着它,填充了来自Madrill的响应。
这是预期的行为吗?我如何在QUkus中调试rest客户端实现的输出?

被调用的REST APIhttps://mandrillapp.com/api/docs/users.JSON.html#method=ping2

共有1个答案

勾渝
2023-03-14

如果您想在发生错误时获得响应的主体,我建议您使用javax.ws.rs.core。响应作为响应类型。

您还可以使用ExceptionMapper执行另一条路线并处理异常

 类似资料:
  • WorkerMan3.0有两种运行模式,调试模式以及daemon运行模式 运行 php start.php start 进入调试模式,这时代码中的echo、var_dump、var_export等函数打印会在终端显示。注意以php start.php start运行的WorkerMan在终端关闭时所有进程会退出。 而运行 php start.php start -d则是进入daemon模式,也就是

  • 调试是一个程序猿非常重要的能力,人写的程序总会有 bug,所以需要 debug。如何方便和快速的定位 bug,是我们讨论的重点,只要 bug 能定位,解决就不是问题。 对于熟悉用 Visual Studio 和 Eclipse 这些强大的集成开发环境的来做 C++ 和 Java 的同学来说,OpenResty 的 debug 要原始很多,但是对于习惯 Python 开发的同学来说,又是那么的熟悉。

  • 调试 我试图用VS代码调试Angular2打字稿应用程序https://angular.io/guide/quickstart 有人能分享调试步骤吗

  • Git 有一些命令可以用来帮你调试你代码中的问题。 包括找出是什么时候,是谁引入的变更。 git bisect git bisect 工具是一个非常有用的调试工具,它通过自动进行一个二分查找来找到哪一个特定的提交是导致 bug 或者问题的第一个提交。 仅在 二分查找 一节中完整的介绍了此命令。 git blame git blame 命令标注任何文件的行,指出文件的每一行的最后的变更的提交及谁是那

  • 本地日志(Local Logs) 如果你拥有设备的访问权限,你可以使用 adb logcat 或你的 IDE 查看一些日志。你可以使用 adb shell setprop log.tag.<tag_name> <VERBOSE|DEBUG> 操作为任何下面提到的标签(tag))开启日志。VERBOSE 级别的日志会显得更加冗余但包含更多有用的信息。根据你要查看的标签的不同,你可以把 VERBOSE

  • WARNING weex-toolkit 是三方插件, 不由 Apache Weex 开发或维护。 本文档主要演示如何使用 weex-toolkit 中内置的调试工具进行代码调试。 安装 首先需要通过 npm 或 yarn 安装 weex-toolkit 工具 $ npm i weex-toolkit@beta -g $ weex -v // 检查是否安装成功 运行 安装完成后,运行 weex

  • Visual Studio Code的一个很重要的特性是他很棒的调试支持。VS Code的内置调试器帮助加速你的编辑,编译和调试循环。 One of the key features of Visual Studio Code is its great debugging support. VS Code's built-in debugger helps accelerate your edit

  • Atom拱了一些工具来帮助你理解预料之外的行为和调试问题。这篇指南介绍了一些工具和方法用于帮助你调试,以及提供了一些提交工单(issue)时的帮助信息。 升级到最新版本 你可能遇到了在最新版本已经修复的问题。 如果你从源码中编译Atom,需要拉回(pull)master的最新版本并重新构建。 如果你使用发布版本,检查你所使用的Atom是什么版本: $ atom --version 0.178.0-