以下の内容はhttps://kazu22002.hatenablog.com/entry/2020/11/11/080000より取得しました。


GraphQL実践 ~amplifyとtype~

aws amplifyのAPIでGraphQLを使用しています。

いままでプロダクトで使ってきていないため、触りながらメモを残していく感じでいくつか記事を書いていきます。

type

GraphQLのスキーマを作成するクエリになり、基本的なobjectになります。

type User @model {
    id: ID
    name: String
}

@modelはamplifyのannotationになり、APIとしてAmazonDynamoDBに保存されるデータになります。

@modelを指定することで、queryやmutation, subcriptionや検索のtypeも設定されます。このあたりがamplifyが自動で作成してくれる内容だと思います。

RDBのテーブルに相当すると考えていいんでしょう。entityと表現されている説明もありますね。テーブルとentityの関係は同一ではありませんが、まず考え方としてテーブルとて進めてみます。

Scalar types

default scalar typesとして、型が用意されています。   * Int * Float * String * Boolean * ID

IDはunique identifierでStringのデータで作られます。

NotNullも指定可能で「!」をつけることで指定可能です。

  • String!

Listsの表現もある

  • [String]

custom scalar typesもあるみたいだが、使い方がまだわかっていません。ドキュメントでは、サンプルとしてDateが書かれています。

scalar Date

awsはAWSDateTimeを指定できますね。customがうまく使えるようになると拡張性があがるんでしょうかね。

その他

ほかにもenum, fragment, union, inputなどの指定があります。

type周りですらまだ探り探りのためすこしずつ理解を深めていきます。

参考

graphql.org

docs.amplify.aws




以上の内容はhttps://kazu22002.hatenablog.com/entry/2020/11/11/080000より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14