2015-05-18 20 views
1

我正在尋找一種方法來使可選的@Path參數。 比方說,我們有以下API方法:可選的@Path參數在改造

/品牌/ {brand_id} /產品/ {類型}

brand_id是可選的,因此這些請求將是有效的:

  • /品牌/ {brand_id} /產品/ {類型}
  • /品牌/產品/ {類型}
  • /品牌/ {} brand_id /產品/
  • /品牌/產品/

我不想定義我在接口4種獨立的方法,因爲他們做同樣的工作。

我希望我的問題很清楚。 謝謝。

回答

1

您可以使用正則表達式在你的路徑,像這樣:

@Path("/brand") 
public interface MyClass{ 

    @Get 
    @Path("{brand_Id: .*}/product/{type: .*}") 
    public Response doSomething(); 

} 

在這種情況下,路徑將支持這一網址:

brand/product/ 
brand/product/{type} 
brand/{brand_id}/product/ 
brand/{brand_id}/product/{type} 

看看這個link

+0

如果我沒有錯,這將允許喜歡brand/x/y/z/product /的東西 – Whimusical