読者です 読者をやめる 読者になる 読者になる

goadesign

Tips: goa で Consumes 指定したときはデフォルトの Content-Type タイプが読み込まれなくなるので注意

goa はデフォルトで json / xml / gob を受け付けてデコードしてくれるようになっているので特に意識することないと思うのですが,'application/x-www-form-urlencoded' とか,独自のデコーダー作りたいときとかには,Consumes 関数を API の中に書いて指定…

goa で Type と MediaType を混ぜないでうまく再利用する

概要 goa では レスポンスの形式を MediaType で定義します.一方,Type は Payload の形式などを定義します. MediaType は Type の特殊な形で,Veiw とか Link が増えたやつなので,Type の代わりに使えるんですけど, Type の代わりに使うと振る舞いが微…

vaaaaanquishさんの名前を間違えると指摘してくれる slack bot を goa で書く

概要 この記事は Go(その3) Advent Calendar の19日目に間に合わなかった今更ながらの記事です。 goa の紹介のために,slack の Outgoing-Webhooks を使って mattn さんの書かれた 「deeeetさんの名前を間違えると指摘してくれるbot」を goa で書くつもりで…

goa tips: 小ネタ (swaggerドキュメントの抑制とパラメータ必須要素について)

概要 goa のちょっとしたネタです. swagger ドキュメントに出したくない要素を抑制する swagger ドキュメントに出したくない要素を Metadata() を利用して抑制することができるようになりました. 特定の Resource を出力したくなければ Resource() の下で …

goa tips: swagger-ui がサービスできないときのドキュメントどうする問題

概要 goa は swagger ドキュメントを生成してくれるので,これを swagger-ui をつかってサービスしてやると API が分かりやすく,お試しも出来てかなりいいかんじになります.しかし,環境によってはサービスを立ち上げることが出来ないとか,ドキュメントを…

goa の controller を実装する

概要 goa のデザインが出来たら goagen でコードを生成しましょう. コードが生成できたら,次にコントローラ部分を書いていく必要があります.これはビジネスロジックにあたる部分です. というか,goa はデザインを書いて,goagen してコード生成後は,こ…

goa tips : swagger-ui を使って手っ取り早く API を試す

はじめに 折角 API を作ったら,簡単に試して,仕様も俯瞰的に確認したいものです. そんなわけで,今回は開発環境で使える swagger-ui の tips です. swagger-ui は swagger ドキュメントを閲覧するためのサービスを提供してくれます. しかも API コンソ…

goa tips : Type と MediaType を使い分けよう

はじめに MediaType と Type の意味を理解してを適切に使い分けましょう(自戒. よく間違えます.github の issue とか goa の slack channel にもよく質問が上がってます. MediaType はレスポンスの形式 MediaType は Type としても利用できますが,本来…

goa tips : Attribute と Param と Member は同じもの

はじめに API デザインの書き方を一通り説明したので,コントローラーの実装の説明する前に, goa の tips をいくつか取り上げたいと思います. という訳で,Attribute も Param も Member も,すべて Attribute のエイリアス関数で同じものなんです.という…

goa の API デザインの書き方 後編 (Resource と Payload)

概要 goa の API デザインについて,デザインを定義する4つの要素の概要説明の後半です. ✓ API … API サーバの定義 ✓ MediaType … レスポンスデータの定義 Resource … APIが管理するデータへのアクセス方法 / エンドポイントなどを定義 Payload … API に送…

goa の API デザインの書き方 前編 (API と MediaType)

はじめに goa の API デザインについて,デザインを定義する4つの要素について概要を説明します. API … API サーバの定義 MediaType … レスポンスデータの定義 Resource … APIが管理するデータへのアクセス方法 / エンドポイントなどを定義 Payload … API …

goa のインストールと実行

概要 goa は DSL で書かれた API デザインを goa のツールで変換してコードを生成します. そのコード生成ツールは goagen です.まずはこれをインストールして,実際に動かしてみるところまで説明します. 生成されるファイルとか,利用する API デザインに…

goa をはじめよう

はじめに goa ってのは golang で APIデザインを書くと,そこから API サーバのモックとかクライアントとかドキュメントとか一通り生成してくれるマイクロサービス用のフレームワークのことです. とてもすばらしいプロダクトなのですが,goa という名前のグ…

golang: goa勉強会を開催しました

connpass.com goa って何? goa ってのは golang で APIデザインを書くと,そこから API サーバのモックとかクライアントとかドキュメントとか一通り生成してくれるマイクロサービス用のフレームワークのことです. goa は golang のソースとして DSL が書け…