コンテンツに進む
検索対象
すべて
和書
和書・雑誌
雑誌
輸入雑貨
文具・雑貨
▾
こだわり
検索
カテゴリー
検索
文具・雑貨
洋書
コミック
新書・選書
文庫
文芸
学習参考書
児童書
芸術
人文
語学
ビジネス・経済・法律
コンピュータ
理工
医学・福祉
実用
地図/旅行
雑誌
すべてのカテゴリを見る
こんにちは、
ゲスト
さん
ログイン
|
会員登録
Myページ
店舗一覧
ほしいもの
カート
×
サンプルサンプル
サンプルサンプルサンプルサンプル
サンプル著者名
5,720円
hontoで電子版を見る
発売日:2026/02/27
出版社:
技術評論社
ISBN:9784297154912
1 / 1
API Platformを活用したPHPによる本格的なWeb API開発 (
)
読み込み中…
API Platformを活用したPHPによる本格的なWeb API開発
API Platformを活用したPHPによる本格的なWeb API開発
金本 貴志
通常価格
3,960
円(税込)
通常価格
セール価格
3,960
円(税込)
単価
/
あたり
SALE
売り切れ
税込
カートに入れる
ほしいものに追加
ほしいもの追加済み
My本棚に追加
発売日:2026/02/27
出版社:
技術評論社
ISBN:9784297154912
ネットストア在庫
詳細
読み込み中...
My店舗在庫
My店舗在庫
My店舗登録で店頭在庫と店舗お受け取り可否が確認できます。(要
ログイン
)
店舗在庫
全店舗の在庫一覧
商品説明
API Platformは、PHPでWeb APIを開発するためのフレームワークです。日本語の情報や国内で公表されている採用事例はまだ多くはないものの、国際的にはすでに高い人気と多数の採用実績を誇り、PHPでREST APIやGraphQL APIを開発する手段として最有力候補の1つとなってい...
商品説明
API Platformは、PHPでWeb APIを開発するためのフレームワークです。日本語の情報や国内で公表されている採用事例はまだ多くはないものの、国際的にはすでに高い人気と多数の採用実績を誇り、PHPでREST APIやGraphQL APIを開発する手段として最有力候補の1つとなっています。API Platformはたった1行のコードの追記でCRUDとAPIドキュメントが生成されるなど手軽に入門できる一方で、本格的に使いこなすにはAPI Platformの機能そのものに加えてOpenAPIやJSON-LDといった関連する標準仕様などに対しても深い理解が求められる側面があり、入門と実用の間にはそれなりに大きな溝があります。本書は、この溝を一気に埋めてくれる一冊です。API Platformを複数の実務案件で活用し、ソースコードにも多数コントリビュートしている著者が、本格的な活用のために必要な実装テクニックや周辺知識を余すところなく徹底的に解説します。
目次
はじめに対象読者本書のゴール本書を読むにあたって謝辞第1章 API Platformの基礎1.1 Web APIの基礎1.1.1 Web APIとは1.1.2 Web APIの重要性1.2 API Platformとは1.2.1 Symfonyとは1.2.2 Laravelとは1.2.3 AP...
目次
はじめに
対象読者
本書のゴール
本書を読むにあたって
謝辞
第1章 API Platformの基礎
1.1 Web APIの基礎
1.1.1 Web APIとは
1.1.2 Web APIの重要性
1.2 API Platformとは
1.2.1 Symfonyとは
1.2.2 Laravelとは
1.2.3 API Platform CoreとSymfonyとLaravel
1.3 API Platformを利用する準備
1.3.1 PHPとPostgreSQLの環境の用意
1.3.2 Symfony CLIのインストール
1.3.3 Symfonyのインストール
1.3.4 API Platformのインストール
1.3.5 動作確認
1.4 API Platformの全体像
1.4.1 APIリソース
1.4.2 APIリソースに対するオペレーション
1.4.3 リクエストからレスポンスまでの流れ
1.4.4 APIドキュメントの自動生成
第2章 データベースとの連携
2.1 Doctrineによるデータベース操作の基本
2.1.1 Doctrineとは
2.1.2 ActiveRecordとData Mapper
2.1.3 Doctrineがデータを扱う仕組み
2.1.4 マッピングメタデータ
2.1.5 エンティティマネージャー・Unit of Work・リポジトリ
2.1.6 データベースからのデータの取得
2.1.7 データベースへのデータの保存
2.2 エンティティクラスとリポジトリクラスの作成
2.2.1 symfony/maker-bundleによる自動生成
2.2.2 Articleエンティティの作成
2.2.3 Articleエンティティクラスの内容
2.2.4 Commentエンティティの作成
2.2.5 Commentエンティティクラスの内容
2.2.6 リポジトリクラスの内容
2.3 データベースのマイグレーション
2.4 APIの動作確認
2.5 ユーザー入力のバリデーション
2.5.1 バリデーションの設定方法
2.5.2 エラーメッセージの日本語化
第3章 ステートプロバイダーとステートプロセッサーによるデータの取得と保存
3.1 ステートプロバイダー・ステートプロセッサーとは
3.1.1 デフォルトのステートプロバイダー
3.1.2 デフォルトのステートプロセッサー
3.2 ステートプロバイダー・ステートプロセッサーを独自に実装する
3.2.1 サンプルアプリケーションへの要件追加
3.2.2 カスタムステートプロバイダーの作成
3.2.3 カスタムステートプロセッサーの作成
3.3 Symfonyのサービスコンテナ
3.3.1 サービスとは
3.3.2 依存性の注入とは
3.3.3 DIコンテナとは
3.3.4 機能拡張ポイントとしてのサービスコンテナ
第4章 OpenAPIのサポート
4.1 API PlatformとOpenAPI
4.1.1 OpenAPIとは
4.1.2 OpenAPIドキュメントのカスタマイズ
4.2 OpenAPIとJSON Schema
4.2.1 パラメーターのスキーマの変更
4.2.2 リクエストボディ・レスポンスボディのスキーマの変更
4.3 OpenApiFactoryの拡張
4.3.1 サンプルアプリケーションへの要件追加
4.3.2 OpenApiFactoryを拡張する
4.4 SchemaFactoryの拡張
4.4.1 サンプルアプリケーションの仕様変更
4.4.2 OpenApiFactoryを拡張する
4.4.3 SchemaFactoryを拡張する
4.5 JSON-LDとHydra
4.5.1 JSON-LDとは
4.5.2 Hydraとは
第5章 シリアライゼーション
5.1 シリアライゼーションの仕組み
5.1.1 シリアライゼーションとは
5.1.2 API Platformにおけるシリアライゼーション
5.2 シリアライゼーション処理のカスタマイズ
5.2.1 レスポンスボディへの出力に含めるプロパティを制御する
5.2.2 リクエストボディからの入力に含めるプロパティを制御する
5.2.3 関連リソースを埋め込む
5.3 循環するリソースのシリアライゼーション
5.3.1 サンプルアプリケーションへの要件追加
5.3.2 強制的にIRI文字列にシリアライズする
5.3.3 シリアライズの最大深さを設定する
5.4 シリアライゼーションに関するその他の機能
5.4.1 計算フィールド
5.4.2 日付や日時のフォーマットの指定
第6章 オペレーションのカスタマイズ
6.1 オペレーションの追加
6.2 オペレーションの無効化
6.3 オペレーションの非推奨化
6.4 サブリソースによる親子関係の表現
6.4.1 サブリソースを用いたGETコレクションオペレーション
6.4.2 サブリソースを用いたPOSTコレクションオペレーション
6.5 システムプロバイダーとシステムプロセッサー
6.6 ファイルアップロード処理
6.6.1 サンプルアプリケーションへの要件追加
6.6.2 vich/uploader-bundleのインストール
6.6.3 ファイルからMediaObjectエンティティへの変換
6.6.4 リクエストボディのデシリアライゼーション
6.6.5 保存済みのファイルの公開URLの生成
6.6.6 動作確認
6.7 サービスタグとautoconfigure
第7章 ページネーションとフィルター
7.1 ページネーション
7.1.1 ページネーションとは
7.1.2 ページネーションの基本的な設定方法
7.1.3 部分ページネーション
7.1.4 カーソルベースのページネーション
7.1.5 ページネーションの最適化方法
7.1.6 カスタムステートプロバイダーのページネーション
7.2 フィルターによる絞り込みと並べ替え
7.2.1 SearchFilterによる文字列検索
7.2.2 DateFilterによる日付の絞り込み
7.2.3 BooleanFilterによる真理値の絞り込み
7.2.4 NumericFilterによる数値検索
7.2.5 RangeFilterによる数値の範囲での絞り込み
7.2.6 ExistsFilterによる値の有無での絞り込み
7.2.7 OrderFilterによる並べ替え
7.2.8 関連リソースのプロパティに対する絞り込み
7.3 デフォルトの並び順の変更
7.4 QueryParameterクラスへの移行に向けて
7.5 カスタムフィルターとExtension
7.5.1 カスタムフィルター
7.5.2 Extension
第8章 ユーザー認証とアクセス制御
8.1 認証と認可
8.2 ステートフルとステートレス
8.3 セッションとCookie
8.4 Bearerトークン
8.4.1 発行プロセスの静的・動的による分類
8.4.2 透明性による分類
8.4.3 JWT
8.5 OAuth 2.0とOpenID Connect
8.5.1 OAuth 2.0
8.5.2 OpenID Connect
8.6 API Platformにおける認証
8.6.1 基本的なセキュリティ設定
8.6.2 IDaaSを利用した認証の実装
8.7 API Platformにおける認可
8.7.1 アクセス制御の基本
8.7.2 Voterを用いた複雑な権限管理
8.7.3 ユーザーごとに異なるコンテンツを提供する
8.8 OpenAPIドキュメントへの認証仕様の反映
8.9 開発環境で認証処理をモック化する
第9章 キャッシュ戦略
9.1 HTTPキャッシュの仕様を理解する
9.1.1 HTTPキャッシュの基本
9.1.2 条件付きリクエストによるキャッシュの再検証
9.1.3 共有キャッシュとプライベートキャッシュ
9.1.4 Cache-Controlヘッダー
9.1.5 Varyヘッダー
9.2 API Platformにおけるキャッシュ戦略
9.2.1 キャッシュ関連ヘッダーの設定方法
9.2.2 キャッシュ無効化システムの概要
9.2.3 キャッシュ無効化システムの使用方法
9.2.4 動作確認
第10章 テストの実装
10.1 テストの分類
10.2 テストのための準備
10.3 単体テストの実装
10.4 機能テストのための準備
10.4.1 テスト用データベースの準備
10.4.2 テストフィクスチャーの準備
10.4.3 現在日時のモック化
10.4.4 JSON Schemaを利用したテストの準備
10.5 機能テストの実装
10.5.1 基本的な機能テスト
10.5.2 サービスのモック化を用いたファイルアップロードのテスト
10.5.3 dama/doctrine-test-bundleの導入
10.5.4 スナップショットテストの導入
第11章 フロントエンドとの連携
11.1 フロントエンドアプリケーションの準備
11.2 OpenAPI TypeScriptによるAPI型定義の自動生成
11.3 フロントエンドアプリケーションの実装
11.3.1 サーバーサイドからのAPIリクエスト
11.3.2 クライアントサイドからのAPIリクエスト
11.4 CORS対応
11.4.1 オリジンとは
11.4.2 CORSとは
11.4.3 API PlatformにおけるCORS対応
11.4.4 本番環境への適用に向けて
11.5 API型定義における非推奨な仕様に対する警告
11.6 IDaaSとの連携
付録 API Platformのさらなる活用
Appendix 1 コンテントネゴシエーション
Appendix 2 GraphQLへの対応
Appendix 3 管理画面の実装
Appendix 4 レートリミットの実装
おわりに
著者プロフィール
参考文献
索引
詳細を表示する
カートに入れる
API Platformを活用したPHPによる本格的なWeb API開発
ほしいもの追加
My本棚に追加
カートに入れる
カスタマーレビュー
honto本の通販ストアのレビュー(0件)
並び順:
評価高い順
最新順
評価高い順
評価低い順
前へ
次へ
1/1ページ
最近チェックした商品
サンプル
サンプル
サンプル
選択結果を選ぶと、ページが全面的に更新されます。
新しいウィンドウで開きます。
×