🐍

【書評】「Web API Good Parts」

2023/12/24に公開

実務でAPIの実装を行うことが多く、美しく使いやすいAPIを設計したいと思ったのでO'REILLYの「Web API The Good Parts」を読みました。

本の紹介

Web API The Good Parts

https://www.amazon.co.jp/Web-API-Parts-水野-貴明/dp/4873116864/ref=sr_1_1?crid=6BZV9WX1OGDV&keywords=web+api+the+good+parts&qid=1703410505&sprefix=Web+APi%2Caps%2C191&sr=8-1
内容:使いやすく変更しやすいAPIの設計方法や陥れがちな罠の紹介があり、バックエンドエンジニアで普段APIの設計・開発を行っているエンジニアは読んで損は無いと思います。RESTとGraphqlどちらも当てはまりますが、個人的にはRESTよりの本かなと思っています。

目的

仕事でAPIの設計を行うことが多いのですが、APIの設計について体系的に学んでいない為自分が設計したAPIが他の開発者にとって使いやすいのか自信がありませんでした。その為、APIの設計方法について体系的に学びたいと思い本書を読み始めました。

印象に残ったこと

1章

Web APIを美しくするには

  1. 仕様が決まっているものに関しては使用に従う
  2. 仕様が存在していないものに関してはデファクトスタンダードに従う
    現在デファクトスタンダートなっているものは色々な開発者からレビューを受けて決められた為、それに従うことは理にかなっている。ただ、なぜその仕様がデファクトスタンダードになっているかを考えて使用することが大切。

ネクストアクション

  • 実装したAPIを見直して、すでにあるAPIの仕様を独自で実装していないか確認する
  • なぜそのAPIの設計がデファクトスタンダードになっているかを理解した上でAPIの設計を行い、適切な仕様を検討する

6章

APIのセキュリティ問題

  • サーバとクライアントの間での情報の不正入手
  • サーバの脆弱性による情報の不正入手や改ざん
  • ブラウザからのアクセスを想定しているAPIにおける問題

ネクストアクション

  • 実装したAPIのセキュリティに問題がある箇所を洗い出す
  • 脆弱性診断ツールを導入する
  • 脆弱性の対策を行う

まとめ

HTTPの基礎的な部分から説明してくれいているので分かりやすく、なぜその設計が必要なのかが理解しやすい構成になっていました。レベル的には実務未経験〜実務半年程度でAPIの設計を行うことが多いエンジニアの方向けかなと思いました!

Web API The Good Parts

https://www.amazon.co.jp/Web-API-Parts-水野-貴明/dp/4873116864/ref=sr_1_1?crid=6BZV9WX1OGDV&keywords=web+api+the+good+parts&qid=1703410505&sprefix=Web+APi%2Caps%2C191&sr=8-1

Discussion