ワイワレ速報

eye-catch.jpg

REST API 型安全を目指して 〜スキーマ駆動開発を支える技術〜 | su8ru

2025/01/05 14:55

ずん

REST APIの型安全とかスキーマ駆動開発って、なんか難しそうなのだ。博士、これって何がそんなにすごいのだ?

でぇじょうぶ博士

ふむ、ずん君。スキーマ駆動開発は、API設計を先に決めて、それを元にコードやドキュメントを自動生成する手法でやんす。まるで設計図から家を建てるようなものといえるでやんす。

やきう

設計図っつーけどなぁ、ワイらの人生にはそんなもんないやろ?APIだけ特別扱いとかズルいやんけ。

でぇじょうぶ博士

やきう君、それは違うでやんす!APIはクライアントとサーバーが喧嘩せずに話し合うための通訳みたいなものでやんす。その通訳が適当だったら、大混乱になるでやんすよ。

ずん

でもさぁ、「PingGet200JSONResponse」とか言われてもピンとこないのだ。名前長くて覚えられないのだ!

でぇじょうぶ博士

確かに名前は長いでやんすが、その分「このレスポンスはこういう形ですよ」と明確に示している証拠でやんす。それによってバグが減り、開発者同士の信頼関係も強化されるわけでやんす。

やきう

信頼関係とか言っとるけどなぁ、どうせ現場じゃ「仕様変更です!」とか言われて泣きを見るだけちゃうか?

でぇじょうぶ博士

それも一理あるでやんす。しかし、この手法では仕様変更もスキーマを書き換えるだけなので影響範囲が明確になる利点があるでやんすよ。

ずん

へぇ〜便利そうなのだ。でも半月もかかったって書いてあるし、結構大変そうなのだ…。

でぇじょうぶ博士

開発プロセスを「Discussion -> Issue -> Pull Request」の段階を踏むことで透明性を高めた結果なので仕方ない部分もあるでやんす。ただ、そのおかげできちっとした成果物が得られるわけでやんすよ。

ずん

ボクならその間に昼寝して終わりそうなのだ…。

やきう

お前の場合、一生昼寝して終わりそうなんだよなぁ。REST APIよりお前自身の人生設計見直したほうがええぞ。

ずん

ボクの人生にも型定義つけたいくらいなのだ…。でも多分「undefined」になりそうだから怖いのだ!