Absintheをちょっと触った
Absinthe(アブサン、アブサント)というElixirのライブラリがありまして、GraphQLのAPIやってみよということでちょっと触りました。
ほんとにちょっと触っただけなので見せるコードもありませんが、いくつか思っていることを。
Schemaって分割できないんすか
ここでweb/schema.ex
というファイルにquery
を書いているのですが、ファイル分けたいなーなんて。Typeはimport_types
とか使えるんですが、import_query
は見当たらず。ソース読んだらわかるのだろうか。
queryのテストどう書いてく
Resolver
は普通に単体テストできるしmutationもなんとなく行けそうなんで置いといて、ConnCase
使ってquery投げてテストするとき、どうテストファイル分けようかな、というところ。いわゆるRESTなリソースベースならUserControler
とかあるわけですが、全部/graphql
にPOSTとかですし、リソースに縛られずに欲しいもの取れるとこが強みの1つなんで、リソースという考えは一旦ポイしようと。ところがどっこいじゃあどう分けましょうかね。queryに関しては思いっきり複雑なの数本投げておしまい、くらいでいいんすかね。
ファイル分けることしか考えてねーな。