【问题标题】:Invocation handler for Asynchronous Rest API Call异步 Rest API 调用的调用处理程序
【发布时间】:2019-01-28 16:53:32
【问题描述】:

我曾在一个带有 SOAP Web 服务的应用程序上工作,其中所有的肥皂 api 调用都将使用处理程序方法调用通过一个地方触发。

我没有详细了解实现,但我知道它是如何工作的。

我们能否开设一门课,让我可以在所有 REST API 命中之前和收到响应之后跟踪它。我用弹簧。除了AOP,REST服务的handler方法调用怎么写?

我要问的是,与其在我进行休息调用的所有服务中编写 RestTemplate.exchange() ,我是否可以有一种方法调用处理程序机制来在一个地方调用所有请求并异步获取响应?

【问题讨论】:

标签: java rest method-invocation invocationhandler


【解决方案1】:

您可以使用javax.servlet.Filter 来拦截发送到服务器的所有请求,并拦截从服务器到客户端的所有响应。 来自 javadoc:

过滤器是一个对象,它对资源的请求(servlet 或静态内容),或资源的响应,或两者都执行过滤任务。

已为此设计确定的示例是

1) 身份验证过滤器

2) 日志记录和审计过滤器

3) 图像转换滤镜

4) 数据压缩过滤器

5) 加密过滤器

6) 标记过滤器

7) 触发资源访问事件的过滤器

8) XSL/T 过滤器

9) Mime 型链式过滤器*

【讨论】:

  • 嗨。与此示例类似,dzone.com/articles/java-dynamic-proxy 我想要一个其余实现应该在的地方。
  • @Shakthi 你可以使用过滤器来拦截所有的http请求并处理java代码中的所有请求。动态代理是可用于代理调用其他类的类。这种方法不是拦截http请求的正确方法,但如果您需要代理任何内部方法调用,则必须使用此方法
  • 在我们调用rest api的所有地方都有resttemplate.exchnge()是一个好方法吗?或者我们可以有一个 util 类将它放在一个地方?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-08-05
  • 2021-08-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多