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