LoginSignup
20
12

More than 5 years have passed since last update.

gRPC, grpc-gatewayで作るダミーAPIサーバー

Last updated at Posted at 2018-07-02

というのをふと思いついたのでメモ程度に残しておく。あとからサンプルコードとともにちゃんと公開する

IMG_0725.JPG

それぞれの課題

  • フロントエンドエンジニア/デザイナーの課題
    • APIサーバーを叩く必要があって必要なJSONがほしい
    • サーバーサイドの実装が待ちになると生産性が低い
    • APIの仕様が変わる場合早く知らせてほしい
  • Swagger ドキュメントの課題
    • 実装とドキュメントの乖離が起きがち
      • Swaggerには書かれてるけどまだ実装が終わっていない
      • 実装は終わってるがSwaggerが更新漏れしていた
  • サーバーサイドエンジニアの課題
    • APIの仕様が変わると実装のvalidationなどの変更が面倒
    • サーバーサイド実装作ってみて、フロントエンドに渡したあとで仕様変更が発覚した

課題

  • ドキュメントと実装の乖離は少なくしたい
  • フロントエンドとサーバーサイド分けて実装したい

gRPC + grpc-gateway

  • https://grpc.io
  • https://github.com/grpc-ecosystem/grpc-gateway
  • ProtocolBufferでAPIの仕様を先に決めて、そこからコードを書くのでドキュメントと実装の乖離が起き得ない
  • gRPCはサーバー/クライアントのスタブ、インターフェースを吐き出す
  • ダミーのAPIサーバーを作って好きな言語で適当なJSONを返すサーバーを最速で提供すればフロントエンドエンジニア助かるのでは
  • gRPCサーバーの本実装、テストは非同期でサーバーサイドエンジニアが行う

代替策

フロントエンドの実装をサーバーサイドから分離する

gRPC最高では!?

20
12
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
20
12