Java 找出哪个端点发送了REST调用

Java 找出哪个端点发送了REST调用,java,spring,rest,Java,Spring,Rest,我试图在几个内部和外部服务/服务器之间创建REST调用的可视化。我想知道哪个端点调用了哪个其他端点。我认为唯一的方法是在调用者端这样做,因为接收者没有关于调用者端点的任何信息 以下是我的想法: 我创建了一个类似RestTemplate的对象并调用该方法 我创建了一个类似的拦截器,它将从RestTemplate中提取信息 我的问题是,我不确定如何找出哪个REST端点调用了RestTemplate方法。RestTemplate(或其他类似对象)调用可以在嵌套方法中调用,因此,例如,端点可以调用私有方

我试图在几个内部和外部服务/服务器之间创建REST调用的可视化。我想知道哪个端点调用了哪个其他端点。我认为唯一的方法是在调用者端这样做,因为接收者没有关于调用者端点的任何信息

以下是我的想法:

  • 我创建了一个类似RestTemplate的对象并调用该方法
  • 我创建了一个类似的拦截器,它将从RestTemplate中提取信息
  • 我的问题是,我不确定如何找出哪个REST端点调用了RestTemplate方法。RestTemplate(或其他类似对象)调用可以在嵌套方法中调用,因此,例如,端点可以调用私有方法,然后该方法调用外部服务本身

    有没有办法得到这些信息?或者我只是想得太多了,有更简单的方法吗

    例如:

    @GetMapping("/hello")
    public String hello() {
        methodThatCallsOtherEndpoint("something.com/weather"); // this method inside itself calls an endpoint
        logRestCall("localhost:8000/hello", "something.com/weather"); // how do I do this automatically without having to type it myself?
    
        return "hello";
    }
    

    谢谢您的帮助。

    如果这些服务/服务器有一个静态IP,您可以根据它们的IP地址标记它们?

    您可以使用它来跟踪不同REST调用之间的关系。

    听起来您想要的是类似Zipkin的东西。这看起来非常有希望,我将对此进行研究。谢谢你的建议!