Java
Vert.x
RESTful

Vert.xでRESTfulな処理を書く

More than 3 years have passed since last update.

URLのパスとして渡されるパラメータをVerticleが受け取る方法は、本家のドキュメントに記載されているので、その概要をご紹介。

http://vertx.io/docs/vertx-web/js/#_capturing_path_parameters

以下が本家のサンプル。

var route = router.route(HttpMethod.POST, "/catalogue/products/:productype/:productid/");

route.handler(function (routingContext) {

  var productType = routingContext.request().getParam("producttype");
  var productID = routingContext.request().getParam("productid");

  // Do something with them...
});

※router.route('POST',~) のところ、本家サンプルでは'POST'となっていますが、そのままではビルドが通りませんので、 HttpMethod.POST と修正。

これにあるとおり、router.routeでパスを定義するときに、バラして受け取りたい要素の先頭に「:」(コロン)をつけておくと、、ハンドラの中から、routingContext.request().getParam()で受け取れるようになる。getParamの引数は、コロンをつけなくてよい。

IDや動詞、APIバージョンなどを埋め込んだURLでVert.xのHTTPクライアントを呼びたいときにどうぞ。