其中一个REST apis我正在以这种格式使用返回的URL:
/api/variables{/id}
/api/projects{/id}{?skip}
在@Path注释中的JAX-WS实现中似乎使用了相同的url模式,所以希望已经有一些库可以帮助完成这项任务。
解析以这种方式格式化的url并使用参数填充它的最佳方法是什么?我最好使用一些库或Java EE核心类,以避免自定义开发。
编辑: 我希望实现的目标:
Strnig template = "/api/projects{/id}{?skip}"; // This is provided by REST service
SomeParser sp = new SomeParser(template);
sp.setParam("id", "1a");
sp.setParam("skip", "20");
sp.getUrl(); // Expected output: /api/projects/1a/?skip=20
与此同时,我发现URI的格式来自RFC6570
问题是:是否准备好使用能够做到这一点的库?
答案 0 :(得分:0)
使用JAX-RS:
@Path("/api")
public class RestService {
@Path("/variables/{id}")
public List<Variable> getVariables(@PathParam("id") String id),
@QueryParam("skip") @DefaultValue("false") boolean skip) {
// ...
}
@Path("/projects/{id}")
public List<Project> getProjects(@PathParam("id") String id) {
// ...
}
}
请注意/在{}之外。
注意: Java EE仅提供API。 您需要使用some implementation。