出版社内容情報
Web APIは、HTTPプロトコルを使用してデータを交換するためのWebサービスです。クライアントとサーバー間でデータをやり取りするための標準的な方法を提供し、異なるシステム間で相互運用が可能です。JSON形式などの汎用的なデータフォーマットを使い、クライアント側に高性能なPCやスマートフォンだけでなく、単機能なIoTデバイスまで利用できる特徴があります。
本書は、サーバーサイドでPHPを用いてWeb APIを構築するための実践的な学習書です。フレームワークとしてLaravelを使い、Web APIを作成するためのノウハウを詰め込んでいます。Laravelはもともとサーバーサイド・フルスタックのフレームワークであり、ビュー層も備えていますが、本書ではあえてフロントエンドの説明を省き、バックエンドのWeb API開発に焦点を絞っています。これにより、より深く集中的にWeb APIの設計や実装、そして運用に関する知識を得ることができます。Web APIを利用するフロントエンドには、Reactを用いて、ブラウザーとスマートフォンアプリからAPIを呼び出して動作確認しています。Reactの詳細は解説していませんが、フロントエンドからLaravelで作成したWeb APIをどのように呼び出すのかの知識は重要です。フロントエンドの知識があると、Web APIの動作をより詳細に理解できるのでReactのサンプルコードも用意しています。
Web APIを作るときの課題は、データベースアクセス、認証、入力検証、セキュリティ、そして運用でのログチェックなど多岐に渡ります。LaravelはデータベースアクセスにEloquent ORMを提供し、認証にはSanctum などのミドルウェアを利用できます。しかし、それだけでは足りません。検証や運用を見据えるとDockerを使った知識、Web APIを公開するためのOpenAPI仕様の設計なども重要です。自動テストの書き方もWeb APIの品質を保つための重要な要素でしょう。本書では、Laravel単体だけではなく、これらの周辺技術も含めて、実際のコードとともに解説してあります。そして、これらの技術を適切に活用するために、AIも利用しています。AIに任せるところは任せ、ペアプログラミング的にAIを活用しています。付録には、本書を執筆するにあたってAIエージェントをどのように活用したのかを解説しました。
【目次】
第1章 Web APIとは
1-1 ブラウザーとWebサーバーの関係
1-2 HTTPプロトコル
1-3 RESTとOpenAPI
第2章 Laravel概要
2-1 MVCパターン
2-2 Laravelの構造
2-3 サービス層
2-4 設定(.env)
2-5 ライブラリ依存関係(composer.json)
第3章 開発環境
3-1 PHPのインストール
3-2 Composerのインストール
3-3 MySQLのインストール
3-4 XAMPPのインストール
3-5 Visual Studio Codeのインストール
3-6 Linuxの場合
3-7 macOSの場合
第4章 最初のプロジェクト
4-1 プロジェクトの作成
4-2 コントローラーの作成
4-3 ルーティングの設定
4-4 php artisan serve
4-5 動作チェック(curl, postman)
第5章 フロントエンドとバックエンド
5-1 サンプルのシステム構成
5-2 フロントエンドReact
5-3 バックエンドLaravel
第6章 データベースとモデル、ORM
6-1 DDLファイル
6-2 マイグレーションファイル
6-3 マイグレーション
6-4 Eloquent
6-5 CRUD
6-6 Seederの設定
6-7 artisan tinkerの利用
第7章 ルーティングとコントローラー
7-1 api.php
7-2 ルーティングの一括設定
7-3 prefixとgroup
第8章 OpenAPI仕様
8-1 openapi.yaml
8-2 infoセクション
8-3 serversセクション
8-4 tagsセクション
8-5 pathsセクション
8-6 schemasセクション
8-7 DDLからopenapi.yamlを作成
第9章 認証
9-1 ログイン認証
9-2 Auth
9-3 Bearerトークン認証
9-4 APIキー認証
9-5 セッション認証
9-6 ログイン認証の実装例
9-7 APIキー認証の実装例
第10章 エラーハンドリングとログ
10-1 例外発生
10-2 Logファサード
第11章 セキュリティ
11-1 XSS
11-2 CORS
11-3 CSRF
11-4 ミドルウェアの設定
11-5 CSRFトークンの実装例
第12章 自動テスト
12-1 tests
12-2 テストメソッド
12-3
内容説明
Web APIは、HTTPプロトコルを使用してデータを交換するためのWebサービスです。クライアントとサーバー間でデータをやり取りするための標準的な方法を提供し、異なるシステム間で相互運用が可能です。JSON形式などの汎用的なデータフォーマットを使い、クライアント側に高性能なPCやスマートフォンだけでなく、単機能なIoTデバイスまで利用できる特徴があります。本書は、代表的なPHPフレームワークであるLaravelをサーバー側に使い、Web APIを構築する方法を段階的に解説していきます。基本的なルーティングやコントローラーの作成から始めて、認証、エラーハンドリング、テスト、自動化などの高度なトピックまでカバーします。Laravelだけの知識ではなく、Web API全体の理解を深めることを目指しています。各章では、実際のコード例を交えながら実践的な知識を提供しており、Web APIの開発から運用までの一連の技術を習得できます。
目次
第1章 Web APIとは
第2章 Laravel概要
第3章 開発環境
第4章 最初のプロジェクト
第5章 フロントエンドとバックエンド
第6章 データベースとモデル、ORM
第7章 ルーティングとコントローラー
第8章 OpenAPI仕様
第9章 認証
第10章 エラーハンドリングとログ
第11章 セキュリティ
第12章 自動テスト
第13章 Docker
第14章 デプロイ
付録 AIエージェントを利用した開発
著者等紹介
増田智明[マスダトモアキ]
Moonmile Solutions代表、技術顧問、新人研修などを担当。大学より30年間のプログラム歴を経て現在もプログラマ。仕事では情報システム開発、携帯電話開発、構造解析を長くこなし、C++/C#/VB/PHP/Scratchなどを扱う。最近は、Kotlin+Swiftをこなしつつ組み込みBLEに舞い戻り。LibreOfficeのマクロで開発途中(本データはこの書籍が刊行された当時に掲載されていたものです)
※書籍に掲載されている著者及び編者、訳者、監修者、イラストレーターなどの紹介情報です。
-
- 洋書
- Prester John



