Java拦截器处理REST API响应代码

标签 java rest http interceptor

我需要拦截应用程序的 REST API 响应并对其执行某些操作。实现此目的的一种非常明显的方法是在方法级别定义注释和拦截器(以便它可以应用于 REST API 方法)。但是,我找不到提取/拦截 API 响应的响应代码的方法。我对 Java EE 世界非常陌生,所以这里可能遗漏了一些东西,但在互联网搜索上也没有找到任何东西。我们的应用程序基于带有 CXF 的标准 JavaEE。

我看过一些示例,其代码类似于以下内容,但不确定如何从中获取 API 响应。任何帮助将不胜感激。

@AroundInvoke
public Object around(InvocationContext context) throws Exception {......

最佳答案

假设您使用的是标准 JEE 解决方案,来自 doc

@AroundInvoke
public Object logInvocation(InvocationContext ctx) throws Exception {
   String class = ctx.getMethod().getDeclaringClass().getName();
   String method = ctx.getMethod().getName();
   Logger.global.entering(class, method, ctx.getParameters());
   try {
      Object result = ctx.proceed();
      Logger.global.exiting(class, method, result);
      return result;
   }
   catch (Exception e) {
      Logger.global.throwing(class, method, e);
      throw e;
   }

}

Object result = ctx.proceed(); 就是您的结果。

关于Java拦截器处理REST API响应代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39786236/

相关文章:

javascript - 如何拦截 302 重定向

java - Hamcrest 匹配器检查响应 json 数组中的任何元素是否具有与 Rest Assured 中的特定值相同的属性值

用于从子资源列表中更新/添加/删除项目的 REST 设计

json - 如何使用 Groovy 代码删除响应正文中 Gerrit 的 REST API 的魔术前缀?

http - 在一个 IP 上托管多个 Golang 站点并根据域请求提供服务?

java - 带有文本文件的不完整 Java 文件输出流

java - Spring注解方法用途

java - View.Gone 位于适配器内部,在 onBindViewHolder 中留下空间

java - Universal-Image-Loader 不保留显示的图像

http - outlook.office.com 与 outlook.office365.com