スキップしてメイン コンテンツに移動

投稿

6月, 2017の投稿を表示しています

goa request parameters

Request この章では、APIリクエストのデザインについて説明していきます。 リクエストには、主に 3種類 、データの渡し方があります。 URLのPathに含まれる、リソースを識別するものとしてのパラメータ Queryパラメータ(GETで良く使われる、?に続く文字列ですね) リクエストボディ 他にも HTTPリクエスト という点では、HTTPヘッダも存在しますが、 HTTPヘッダはリクエストパラメータというより、 リクエストの形式や認証などに使われる、メタデータ的な意味合いがあるため この章では扱いません。 それでは、それぞれの詳細を見ていきましょう。 Pathパラメータ RESTFulなAPIを扱うとき、良く出てくる /user/ :id -> /user/ 100 /product/ :category/ :product_id -> /product/book /300 のような、URLに含まれるパラメータですね。 正式名称は何というのでしょうか。 このパラメータは、 Resource を識別するために使われます。 Queryパラメータで識別しても良いのですが、Queryパラメータはどちらかというと、 APIの振る舞い・挙動を変える意味合いがあります。 この辺の考えは、RESTfulというアーキテクチャの話になってくるため、ここでは割愛します。 それでは実装してみましょう。 先ほどまでのソースコードを一旦、コミットします。 $ git add . $ git commit -m "first commit" そして、デザインファイルにResourceを追加します。 var _ = Resource( "products" , func() { Action( "show" , func() { Routing(GET( "products/:category_id/:product_id" )) Params (func() { Param( "category_id" , Integer , "カテゴリID&qu