Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何获取当前请求的URI?_Java_Quarkus - Fatal编程技术网

Java 如何获取当前请求的URI?

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

我需要解析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”)
公共类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();
}