簡體   English   中英

JAX-RS:在ContainerRequestFilter中檢索路徑模式

[英]JAX-RS: Retrieve path pattern in ContainerRequestFilter

我正在實現一個預先匹配的ContainerRequestFilter並想檢索將要調用的資源的@Path模式。

這是我的資源

Path("/v1/partner/{partnerId}/adresse")
public interface AdresseResource
{
   @GET
   @Produces({ MediaType.APPLICATION_JSON })
   public Response handleAdresseCollectionGet(@Context UriInfo uriInfo, @PathParam("partnerId") String partnerId);

   // Other methods omitted
}

在我的過濾器中,我想從我的路徑注釋中獲取/v1/partner/{partnerId}/adresse模式。 但是我不能從ContainerRequestContext實例中獲取它。 我本來預計在這個信息UriInfoencodedPathmatchingPath是相同的。

你能幫我嗎?

在此處輸入圖片說明

從@PreMatching文檔中

可以應用於容器請求過濾器的全局綁定注釋,以指示在實際資源匹配發生之前,應將此過濾器全局應用於應用程序中的所有資源。

在調用過濾器時,尚不清楚將匹配哪個資源。 您的過濾器可能會更改requestUri甚至更改會影響匹配的方法,因此您無法在此處獲取此信息。

在非@PreMatching ContainerRequestFilter中,您可以通過ContainerRequestContext.getUriInfo()。getMatchedURIs()或通過注入ResourceInfo來獲得更多信息,就像已經在這里回答的那樣。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM