![](/img/trans.png)
[英]What is the best way to build a subclassed object of an abstract superclass with required and optional parameters in Java 9?
[英]What is the best way to declare optional named path parameters in Apache Wink
使用Apache Wink在REST路徑中定義可選命名參數的最佳方法是什么?
現在我正在使用這樣的東西:
/items{sep: (?)}{id: (.*)}")
用於匹配請求,例如:
/items/123
/items/
/items
這樣我就可以捕獲干凈的{id}
。
另一種選擇是:
/items{id: (/?/[^/]+?)}
但是{id}
將包含/
字符,並且需要清除。
我在我的(µ)Micro框架中使用Wink,並計划堅持使用它,建議其他/更好(?)相似的框架目前無法回答此問題。
謝謝!
-弗洛林
這可能有點麻煩,不知道,也許這不是比您的解決方案更好的解決方案(我不知道您的要求),但是這就是我的方法。 我的資源類的注釋為'@Path(“ / db”)',然后為每個受支持的目錄級別提供連續的方法,即,由於REST基於URL,因此必須將'/'字符視為目錄定界符。
@Path("{id}")
@GET
public Response getJson( @PathParam("id") String id )
{
String path = id;
// TODO
}
處理“ db / items”,並且
@Path("{id1}/{id2}")
@GET
public Response getJson(
@PathParam("id1") String id,
@PathParam("id2") String id2 )
{
String path = id1 + '/' + id2;
// TODO
}
處理“ db / items / 123”,並且
@Path("{id1}/{id2}/{id3}")
@GET
public Response getJson(
@PathParam("id1") String id1,
@PathParam("id2") String id2,
@PathParam("id3") String id3 )
{
String path = id1 + '/' + id2 + '/' + id3;
// TODO
}
處理“ db / items / 123/456”。
但是您可以看到,在較長的路徑上,這很快變得很麻煩,而且我還沒有弄清楚如何處理n深度路徑( 有人嗎? )。 希望對您有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.