Java 如何获取当前请求的URI?
我需要解析Quarkus中当前请求的URI(我使用Quarkus 1.13)。我使用RESTEasy作为我的rest框架。在我的案例中,需要当前请求URI来验证Mandrill webhook调用 简化我当前的实现如下所示:Java 如何获取当前请求的URI?,java,quarkus,Java,Quarkus,我需要解析Quarkus中当前请求的URI(我使用Quarkus 1.13)。我使用RESTEasy作为我的rest框架。在我的案例中,需要当前请求URI来验证Mandrill webhook调用 简化我当前的实现如下所示: @products(MediaType.TEXT\u PLAIN) @使用(MediaType.APPLICATION\u FORM\u URLENCODED) @路径(“/api/v1/webooks/mandrill”) 公共类MandrillWebhookResour
@products(MediaType.TEXT\u PLAIN)
@使用(MediaType.APPLICATION\u FORM\u URLENCODED)
@路径(“/api/v1/webooks/mandrill”)
公共类MandrillWebhookResource{
//为简洁起见,跳过了代码
@职位
公众反应mandrill(
@HeaderParam(“x-mandrill-signature”)字符串mandrillSignature,
@FormParam(“mandrill_事件”)字符串mandrillEvents
)抛出JsonProcessingException{
最终变量mandrillSignatureValid=mandrillSignatureValidator
.valid(/*此处我需要请求URI*/,mandrillSignature,mandrillEvents);
//为简洁起见,跳过了代码
返回Response.ok().build();
}
RESTEasy是JAX-RS的实现,它提供了获取和处理有关JAX的信息的工具
JAX-RS为该上下文提供了UriInfo
类。它根据请求提供关于请求URI组件的静态和动态信息。您只需使用@context
注释和UriInfo
类将该上下文注入到POST方法中
可以按如下方式进行:
@POST
公众反应mandrill(
@上下文UriInfo UriInfo,
@HeaderParam(“x-mandrill-signature”)字符串mandrillSignature,
@FormParam(“mandrill_事件”)字符串mandrillEvents
)抛出JsonProcessingException{
final var requestUri=uriInfo.getRequestUri();
最终变量mandrillSignatureValid=mandrillSignatureValidator
.有效(requestUri、mandrillSignature、mandrillEvents);
//为简洁起见,跳过了代码
返回Response.ok().build();
}