mmag

ハマったことメモなど

Absintheをちょっと触った

Absinthe(アブサンアブサント)というElixirのライブラリがありまして、GraphQLのAPIやってみよということでちょっと触りました。

http://absinthe-graphql.org/

ほんとにちょっと触っただけなので見せるコードもありませんが、いくつか思っていることを。

Schemaって分割できないんすか

Absinthe: Our First Query

ここでweb/schema.exというファイルにqueryを書いているのですが、ファイル分けたいなーなんて。Typeはimport_typesとか使えるんですが、import_queryは見当たらず。ソース読んだらわかるのだろうか。

queryのテストどう書いてく

Resolverは普通に単体テストできるしmutationもなんとなく行けそうなんで置いといて、ConnCase使ってquery投げてテストするとき、どうテストファイル分けようかな、というところ。いわゆるRESTなリソースベースならUserControlerとかあるわけですが、全部/graphqlにPOSTとかですし、リソースに縛られずに欲しいもの取れるとこが強みの1つなんで、リソースという考えは一旦ポイしようと。ところがどっこいじゃあどう分けましょうかね。queryに関しては思いっきり複雑なの数本投げておしまい、くらいでいいんすかね。

ファイル分けることしか考えてねーな。