2015/04/17(#jggug)G*なWeb API
- kimukou2628
- 1846
- 0
- 2
- 0
grails url-mapping-reportで、今定義しているURLマッピングの一覧をかっちょ良くコンソールに表示してくれる #jggug
2015-04-17 19:25:22#jggug speakerdeck.com/yamkazu/grails… P26 レンダリングの流れの説明を聞いてます(流れをなんとなくでも把握しておきましょう
2015-04-17 19:27:04Restのレンダリングは、Controller→ Renderer→ Converter →Marshallerという2つのアクターこの流れで出てくる。 #jggug
2015-04-17 19:27:12#jggug speakerdeck.com/yamkazu/grails… P28 includesで指定されたものだけでJSONを作ってくれるのか。。。確かに便利かも
2015-04-17 19:29:08GrailsのRestのレンダリングの簡単な方法の1つは、SpringのBean定義で、bookRenderer(JsonRendeler..)でinclude指定でレンダリング結果に含まれる要素を指定すること。 #jggug
2015-04-17 19:29:58GrailsのRestのカスマイズの方法その2、細かいやつ。マーシャラーで出力内容をマップとかクロージャで設定。BootStrapでやるとお手軽。 #jggug
2015-04-17 19:31:22#jggug speakerdeck.com/yamkazu/grails… P31 JSONからBookのBeanにマッピングしてくれるようにするための書き方
2015-04-17 19:33:13#jggug import Projectだと中々終わらない(苦笑。。なんか凄い解析しているのでしょうか。。IDEAさん、、
2015-04-17 19:37:07カスタムマーシャラを定義するなら、includesを対応するには コントローラのgetIncludeFields()メソッドを定義して自分でハンドリングしてやる必要がある。 #jggug
2015-04-17 19:39:09Grails3のRESTはいろいろ良く考えられている。実際のWebAPIをかなり研究していると思われ。 #jggug #grailsfw
2015-04-17 19:43:01Restデータの一覧を返すとき、配列をトップレベルで返すのではなく、要素数や範囲を指定するキー等を含むマップでラッピングすることをエンベローブと呼ぶ。Grailsではコンバータを定義することで対応できる #jggug
2015-04-17 19:43:29Grails2.4で、ドメインの中にStringでJSON文字列を保存していて、JavaScriptの中で var json = ${raw(${domain.json})}みたいな書き方すると、勝手に文字列からjsonオブジェクトに変換されてるっぽい。 #jggug
2015-04-17 19:43:51speakerdeck.com/yamkazu/grails… #jggug P45 max等を指定するとGrailsのrestControllerがよしなにpaging機能を提供してくれるみたい
2015-04-17 19:45:27GrailsのRestのページングは、paramsにpaging(total-count:, current-max..current-offset..)というプロパティがあればページング制御に使われる。 #jggug
2015-04-17 19:46:37Rest APIのバージョニングが広報互換のために重要だが3つぐらい流儀がある(urlに埋めこむ, acceptヘッダにversion, media-typeで指定)。 #jggug
2015-04-17 19:48:11GrailsでURLでバージョニングするには、コントローラにネームスペースを指定してマッピングでバージョンごとにふりわけるようにすると便利 #jggug
2015-04-17 19:49:33speakerdeck.com/yamkazu/grails… #jggug p57 テストの遣り方 オススメはSpringBootにテンプされている TestRestTemplateを使うと良い
2015-04-17 19:50:02GrailsでインテグレーションテストでRestのテストするにはTestRestTemplateが便利。メソッド名にHTTP METHODとURLを書く。留意点はトランザクションを自分で指定しなければならない。 #jggug
2015-04-17 19:52:26