商品情報
商品説明
内容紹介
※この商品はリフロー型で作成されており、ハイライトや検索、文字の大きさの変更などの機能がご利用可能です。
◆関連仕様から設計思想、実装テクニックまでWeb API開発に必要な知識を網羅◆
API Platformは、PHPでWeb APIを開発するためのフレームワークです。日本語の情報や国内で公表されている採用事例はまだ多くはないものの、国際的にはすでに高い人気と多数の採用実績を誇り、PHPでREST APIやGraphQL APIを開発する手段として最有力候補の1つとなっています。API Platformはたった1行のコードの追記でCRUDとAPIドキュメントが生成されるなど手軽に入門できる一方で、本格的に使いこなすにはAPI Platformの機能そのものに加えてOpenAPIやJSON-LDといった関連する標準仕様などに対しても深い理解が求められる側面があり、入門と実用の間にはそれなりに大きな溝があります。本書は、この溝を一気に埋めてくれる一冊です。API Platformを複数の実務案件で活用し、ソースコードにも多数コントリビュートしている著者が、本格的な活用のために必要な実装テクニックや周辺知識を余すところなく徹底的に解説します。
■こんな方におすすめ
・PHPで本格的なWeb APIを開発できるようになりたい方
・すでにPHPでWeb APIを開発しており、さらなる学びのために王道のフレームワークに触れたい方
・すでにAPI Platformを使用しており、さらに発展的に使いこなしたい方
■目次
第1章 API Platformの基礎
1.1 Web APIの基礎
1.2 API Platformとは
1.3 API Platformを利用する準備
1.4 API Platformの全体像
第2章 データベースとの連携
2.1 Doctrineによるデータベース操作の基本
2.2 エンティティクラスとリポジトリクラスの作成
2.3 データベースのマイグレーション
2.4 APIの動作確認
2.5 ユーザー入力のバリデーション
第3章 ステートプロバイダーとステートプロセッサーによるデータの取得と保存
3.1 ステートプロバイダー・ステートプロセッサーとは
3.2 ステートプロバイダー・ステートプロセッサーを独自に実装する
3.3 Symfonyのサービスコンテナ
第4章 OpenAPIのサポート
4.1 API PlatformとOpenAPI
4.2 OpenAPIとJSON Schema
4.3 OpenApiFactoryの拡張
4.4 SchemaFactoryの拡張
4.5 JSON-LDとHydra
第5章 シリアライゼーション
5.1 シリアライゼーションの仕組み
5.2 シリアライゼーション処理のカスタマイズ
5.3 循環するリソースのシリアライゼーション
5.4 シリアライゼーションに関するその他の機能
第6章 オペレーションのカスタマイズ
6.1 オペレーションの追加
6.2 オペレーションの無効化
6.3 オペレーションの非推奨化
6.4 サブリソースによる親子関係の表現
6.5 システムプロバイダーとシステムプロセッサー
6.6 ファイルアップロード処理
6.7 サービスタグとautoconfigure
第7章 ページネーションとフィルター
7.1 ページネーション
7.2 フィルターによる絞り込みと並べ替え
7.3 デフォルトの並び順の変更
7.4 QueryParameterクラスへの移行に向けて
7.5 カスタムフィルターとExtension
第8章 ユーザー認証とアクセス制御
8.1 認証と認可
8.2 ステートフルとステートレス
8.3 セッションとCookie
8.4 Bearerトークン
8.5 OAuth 2.0とOpenID Connect
8.6 API Platformにおける認証
8.7 API Platformにおける認可
8.8 OpenAPIドキュメントへの認証仕様の反映
8.9 開発環境で認証処理をモック化する
第9章 キャッシュ戦略
9.1 HTTPキャッシュの仕様を理解する
9.2 API Platformにおけるキャッシュ戦略
第10章 テストの実装
10.1 テストの分類
10.2 テストのための準備
10.3 単体テストの実装
10.4 機能テストのための準備
10.5 機能テストの実装
第11章 フロントエンドとの連携
11.1 フロントエンドアプリケーションの準備
11.2 OpenAPI TypeScriptによるAPI型定義の自動生成
11.3 フロントエンドアプリケーションの実装
11.4 CORS対応
11.5 API型定義における非推奨な仕様に対する警告
11.6 IDaaSとの連携
付録 API Platformのさらなる活用
Appendix 1 コンテントネゴシエーション
Appendix 2 GraphQLへの対応
Appendix 3 管理画面の実装
Appendix 4 レートリミットの実装
■著者プロフィール
金本貴志:株式会社Kannade 代表取締役。プログラマー。主にWebシステムの受託開発や社外CTO/技術顧問などの技術経営コンサルティングに従事。2008年に富士通株式会社に新卒入社したのち、2012年から株式会社カルテットコミュニケーションズ(2011年設立)にCTOとして8年間在籍。同社では自社サービスと開発組織の立ち上げを行い、創業期の急速な事業成長に貢献。フリーランスを経て2022年に株式会社Kannadeを設立し、現職。前著に「基本からしっかり学ぶ Symfony2入門」(共著、技術評論社、2015年)。技術カンファレンスやセミナーでの登壇多数。SymfonyやAPI Platformなど愛用するOSSへのコントリビュートも多数。私生活では4歳の娘と1歳の息子の子育てに奮闘中(本書発行当時)。X/Twitter: @ttskch
商品レビュー
楽天Koboのレビュー
まだレビューがありません。 レビューを書く
楽天ブックスランキング情報
-
週間ランキング
ランキング情報がありません。
-
日別ランキング
ランキング情報がありません。

電子書籍版









![シスコ技術者認定教科書 CCNA 完全合格テキスト&問題集[対応試験]200-301 第2版](http://tshop.r10s.jp/book/cabinet/1034/9784798191034_1_135.jpg?downsize=80:*)


