1

私が消費しているREST APIの1つは、この形式でURLを返します:

/api/variables{/id}
/api/projects{/id}{?skip}

同じ URL パターンが @Path アノテーションの JAX-WS 実装で使用されているように見えるので、このタスクに役立つライブラリがすでにあることを願っています。

このようにフォーマットされた 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 に答える