よこやまの日記・ブログを自作する編

車輪の再開発でも自分専用ブログをつくるんや!

9日目: GraphQLスキーマ再設計, gin導入。

設計変更

前回、一応はGraphQLとしてAPIの機能を作ったけど、開発中に清田に設計ミスに気付いたので修正する。

結論としてはエンドポイントを/adminと/viewerの2つに分ける。 実際、ブログサービスを行うなら、管理者(admin)と一般の閲覧者(viewer)が存在する。 adminの方はアクセス制限をつける。一方で、viewerは同然ながらつけない。

また、同じ記事(Article)の値であってもadminでは非公開記事も取得できるようにしたい。

というわけで再設計する。前回まではGraphQLエンドポイントは1つだけであったが、今回は前途の通り/admin, /viewerの2つ作る。裏側のプログラムは共通項は多い物のエンドポイントは別にする。

gin導入

GraphQLはgengqlで実現するけど、HTTP Webサーバはginを導入する。

github.com

上記の通り、adminは認証機構とかをつける。その時にこういうウェブフレームワークがあったほうが手っ取り早いと考えたため。

実装

というわけで今回のプルリク。まだ内容や認証機能はつけてない。

github.com

以下、広告

プログラミング言語Go (ADDISON-WESLEY PROFESSIONAL COMPUTING SERIES)

プログラミング言語Go (ADDISON-WESLEY PROFESSIONAL COMPUTING SERIES)

Go言語による並行処理

Go言語による並行処理

初めてのGraphQL ―Webサービスを作って学ぶ新世代API

初めてのGraphQL ―Webサービスを作って学ぶ新世代API

ファイナルファンタジーVII リメイク - PS4

ファイナルファンタジーVII リメイク - PS4

  • 発売日: 2020/04/10
  • メディア: Video Game