1

我正在以这种格式使用返回 url 的 REST api 之一:

/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 的格式提供

问题是:是否准备好使用可以做到这一点的库?

4

1 回答 1

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。你需要使用一些实现

于 2015-01-30T12:54:20.460 回答