找出发送REST调用的端点

时间:2017-09-16 16:42:33

标签: java spring rest

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

这是我的想法:

  1. 我创建一个像RestTemplate这样的对象并调用该方法。
  2. 我创建了一个Interceptor或类似的东西,它将从RestTemplate中提取信息。
  3. 我的问题是我不知道如何找出哪个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";
    }
    

    感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

如果这些服务/服务器可能有静态IP,可以用IP地址标记它们吗?

答案 1 :(得分:0)

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