仅针对特定端点的其余模板日志记录请求和响应

2024-03-29

我正在尝试记录 Resttemplate 请求和响应以及它working我的参考是这个https://www.baeldung.com/spring-resttemplate-logging https://www.baeldung.com/spring-resttemplate-logging and https://medium.com/javarevisited/spring-resttemplate-request-response-logging-f021be66c2c0 https://medium.com/javarevisited/spring-resttemplate-request-response-logging-f021be66c2c0但问题是,它得到了它所有端点。我想要一个c仅某些端点. https://www.baeldung.com/rest-template https://www.baeldung.com/rest-template.如果您有建议,请分享。我已经寻找解决方案好几天了。


我可以想到的两种方式:

  1. 实现您想要登录拦截器的 URL(或模式)
  2. 配置2RestTemplate一个有日志记录的实例,一个没有日志记录的实例,并决定在哪里使用哪个。您可以使用专用的@Qualifier为了这。
@Target({ElementType.FIELD,
            ElementType.METHOD,
            ElementType.TYPE,
            ElementType.PARAMETER})
@Retention(RetentionPolicy.RUNTIME)
@Qualifier
public @interface Logged {}

您现在可以使用此限定注释来创建 2 个 bean 并将其放在@Autowired字段或构造函数参数来决定注入哪个。

@Bean
@Primary
public RestTemplate restTemplate(RestTemplateBuilder rtb) {
  return rtb.build();
}

@Bean
@Logged
public RestTemplate restTemplate(RestTemplateBuilder rtb) {
  return rtb.interceptors(new RequestLoggingInterceptor()).build();
}

现在您的代码将使用@Primary凡有一个地方RestTemplate需要。如果您想使用日志记录,请使用以下命令显式注释该位置@Logged.

@Service
public class MyService {

  private final RestTemplate rest;

  public MyService(@Logged RestTemplate rest) {
    this.rest=rest;
  }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

仅针对特定端点的其余模板日志记录请求和响应 的相关文章

  • 如何在 spring 中将模型作为重定向属性传递

    redirectModel addAttribute Model model return REDIRECT PREFIX my company organization management manage users 当我通过这个时 我得
  • Apache Poi 无法读取工作表名称

    我们在通过 Apache Poi 读取 Excel 工作表时遇到了一个奇怪的错误 我们使用的是5 0版本 该代码以前可以工作 但现在已停止在我们所有的生产环境中工作 它在本地测试时仍然有效 因此事实证明这很难调试 问题是我们返回了空工作表名
  • 通过selenium在firefox中打开私有模式

    实际上我想通过selenium打开firefox浏览器的隐身 私密模式 但每次我尝试时都是以正常模式打开firefox 经过一番谷歌搜索后 我得到了这段代码 我用它通过 selenium 在 Firefox 中打开私有模式 但它不起作用 F
  • Hibernate - 一对多关系和孤儿删除级联

    我有一个基本的一对多关系父 子关系 就像 Hibernate 参考书第 21 章中一样 级联仅从子级到父级 保留级联只是因为我不想在删除子级时删除父级 当我向父级添加一个子级并保存该子级时 出现 TransientObjectExcepti
  • 如何计算Java数组的内存大小?

    我知道如何通过添加三个部分来计算Java对象的内存大小 标头 属性 引用 我还知道Java数组也是一个对象 但是当我读到 Understanding the JVM Advanced Features and Best Practices
  • 使用表单主体的 Spring MVC 控制器方法映射

    我正在构建一个小型应用程序 作为工作中某些第三方库的客户端 API 指出Webhook需要响应一些异步事件 但除了更改之外 它们的所有方法都具有完全相同的签名 method调用之间的字段 例如 我有一个 method ping media
  • 如何处理过时的连接?

    我们的应用程序是一个 J2EE 应用程序 在 Websphere 6 1 上通过 Mainframe DB2 后端使用 Struts EJB Hibernate 最近已投入生产 我们收到过时的连接异常当用户第一次或有时登录应用程序时 此异常
  • 在 IntelliJ IDEA 中哪里添加像 -ea 这样的编译器选项?

    我想添加 ea选项 我把它设置在Project Settings gt Compiler gt Java Compiler Additional command line parameters 但它导致了 make 错误 invalid f
  • 避免实现接口中存在的方法 - java

    我有一个如下所示的界面 public interface a public void m1 public void m2 public void m3 public class A implements a public void m3 i
  • 单击 libGDX 中的 Actor

    我的游戏中有一个覆盖层 其中包含屏幕图像和屏幕 上 的一组按钮 截屏 My Screen有一个Stage The Stage有一组Group对象 我将其视为图层 第一组具有背景 中间的组具有游戏元素 最前面的组具有屏幕覆盖 覆盖层由一个Im
  • 如何为 Android 应用实施 Google Play 许可? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 Locked 这个问题及其答案是locked help locked posts因为这个问题是题外话
  • 面向 Clojure 用户的 Java

    我一直在断断续续地使用 Lisp 并且正在赶上 clojure clojure的好处是我可以自然地使用所有的java函数 而clojure的坏处也是我必须自然地了解java函数 例如 我不得不花一些时间 谷歌搜索 来查找 Java 中的平方
  • 如何使用 jasper 从 jsp 生成 pdf 格式的报告

    在我的应用程序中 我可以连接到数据库并获取数组结果集 并使用 JSP 代码迭代该数组并使用 HTML 在网页中显示报告 我希望 HTML 网页中生成的报告可以以 PDF 格式导出并保存在某个 pdf 文件中 请告诉我如何实现这样的技术来实现
  • Java 泛型和数字

    为了看看我是否可以清理一些数学代码 主要是矩阵代码 我尝试使用一些 Java 泛型 我有以下方法 private
  • 如何停止在控制台上打印异常堆栈跟踪?

    我编写了一个 Servlet 来处理 Web 应用程序中发生的异常 并将它们映射到 web xml 中
  • 在日志中显示 Spring 事务

    我为 spring 配置了事务支持 有什么方法可以记录事务以确保我正确设置所有内容 在日志中显示是查看正在发生的情况的好方法 in your log4j properties 对于替代记录器或 log4j 的 xml 格式 请查看文档 根据
  • 自定义 lint 规则,确保不调用特定方法

    我想确保在我的 Android 应用程序 Java 和 Kotlin 代码中 中不会调用特定类的特定方法 假设 我有一个名为Bar有两种方法 allowed and disallowed 这是代码 package com public cl
  • 通过JVMTI识别异常

    我正在使用 JVMTI 为 Java 应用程序编写一个检测工具 我已经看到 JVMTI 检测何时抛出异常以及何时捕获异常http docs oracle com javase 7 docs platform jvmti jvmti html
  • 在方法上具有 @Retryable 注释的模拟 Spring @Service 失败并出现 UnfinishedVerificationException

    我正在使用 Spring Boot1 4 0 RELEASE with spring boot starter batch spring boot starter aop and spring retry 我有一个 Spring 集成测试
  • 添加 2 个 BigDecimal 值 [重复]

    这个问题在这里已经有答案了 class Point BigDecimal x BigDecimal y Point double px double py x new BigDecimal px y new BigDecimal py vo

随机推荐