Java 在RESTFUL quarkus应用程序中过滤请求中的请求

Java 在RESTFUL quarkus应用程序中过滤请求中的请求,java,jax-rs,servlet-filters,quarkus,Java,Jax Rs,Servlet Filters,Quarkus,我有一个quarkus(jax-rs)应用程序。我使用ContainerRequestFilter、ContainerResponseFilter来过滤应用程序中的请求和响应 我的主要问题是在一个post请求中,我有另一个对URl的post请求。我的过滤器在我的主post请求方法上运行良好。但我也希望它能检测到该请求中还有另一个post请求,这样我也可以对其进行过滤。它似乎无法检测到,关于为什么会发生这种情况的任何想法/解决方案 下面是一个正在发生的事情的例子: @POST @Path(&q

我有一个quarkus(jax-rs)应用程序。我使用ContainerRequestFilter、ContainerResponseFilter来过滤应用程序中的请求和响应

我的主要问题是在一个post请求中,我有另一个对URl的post请求。我的过滤器在我的主post请求方法上运行良好。但我也希望它能检测到该请求中还有另一个post请求,这样我也可以对其进行过滤。它似乎无法检测到,关于为什么会发生这种情况的任何想法/解决方案

下面是一个正在发生的事情的例子:

@POST
  @Path("/send/{profile}")
  @Consumes({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
  @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
  public Response x(Request request) {
    final Hello hello = helloMapper.toHelloReuqest(request);
    final Hello response= helloer.send(hello);
  .....
Response webtextResponse = webtextclient.sendHello(a,b)
.....
@RegisterRestClient(configKey = "xyz")
@ApplicationScoped
public interface WebTextClient {
  @POST
  @Path("/send_hello.html")
  @Consumes({MediaType.APPLICATION_FORM_URLENCODED})
  @Produces({MediaType.TEXT_HTML})
  Response sendHello(@FormParam("a") String a, @FormParam("b") String b);
}
在发送方法中:

@POST
  @Path("/send/{profile}")
  @Consumes({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
  @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
  public Response x(Request request) {
    final Hello hello = helloMapper.toHelloReuqest(request);
    final Hello response= helloer.send(hello);
  .....
Response webtextResponse = webtextclient.sendHello(a,b)
.....
@RegisterRestClient(configKey = "xyz")
@ApplicationScoped
public interface WebTextClient {
  @POST
  @Path("/send_hello.html")
  @Consumes({MediaType.APPLICATION_FORM_URLENCODED})
  @Produces({MediaType.TEXT_HTML})
  Response sendHello(@FormParam("a") String a, @FormParam("b") String b);
}
在webtextclient中:

@POST
  @Path("/send/{profile}")
  @Consumes({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
  @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
  public Response x(Request request) {
    final Hello hello = helloMapper.toHelloReuqest(request);
    final Hello response= helloer.send(hello);
  .....
Response webtextResponse = webtextclient.sendHello(a,b)
.....
@RegisterRestClient(configKey = "xyz")
@ApplicationScoped
public interface WebTextClient {
  @POST
  @Path("/send_hello.html")
  @Consumes({MediaType.APPLICATION_FORM_URLENCODED})
  @Produces({MediaType.TEXT_HTML})
  Response sendHello(@FormParam("a") String a, @FormParam("b") String b);
}

如何执行内部请求?这是否意味着您在该方法中初始化了一个JAX-RS客户机实例,并使用它在同一服务器上调用不同的REST方法?如果是这样的话,我看没有理由不过滤。所以我想你是在用不同的方式来做。你能看看我更新的帖子@JanMartiškath吗
WebTextClient
的服务器端实现是REST资源还是其他什么吗?假设您的客户端中有
@Path(“/send_hello.html”)
,听起来您是在使用客户端检索静态html文件,而不是调用REST端点,但在这种情况下,REST筛选器不适用。