Skip to Content
ファストAPI
book

ファストAPI

by Bill Lubanovic
March 2025
Intermediate to advanced
280 pages
3h 20m
Japanese
O'Reilly Media, Inc.
Content preview from ファストAPI

第8章. ウェブ・レイヤー

この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com

プレビュー

第 3 章 では、FastAPI Web エンドポイントを定義し、簡単な文字列入力を渡し、 レスポンスを取得する方法を簡単に説明しました。この章では、FastAPI アプリケーションの最上位レイヤ(インターフェイスレイヤまたはルータレイヤとも呼ばれる)、およびサービス レイヤとデータ レイヤとの統合についてさらに詳しく説明します。

前回同様、小さな例から始めることにする。 そして、よりすっきりとした開発と成長を可能にするために、レイヤーをサブセクションに分け、いくつかの構造を紹介する。 書くコードが少なければ少ないほど、後で思い出したり修正したりする必要がなくなる。

本書の基本的なサンプルデータは、想像上の生物、すなわち クリプトイドとその探検家に関するものである。他の情報領域との類似性を発見できるかもしれない。

一般的に、私たちは情報をどうするのか? 多くのWebサイトと同様に、私たちのWebサイトでは、次のような方法を提供する:

  • 検索する

  • 作成する

  • 修正する

  • 交換する

  • 削除する

上から順に、データに対してこれらの関数を実行するWebエンドポイントを作成していく。 最初は、どのWebクライアントでもエンドポイントが動作するように、偽のデータを提供する。 次の章では、偽のデータのコードを下のレイヤーに移していく。 それぞれのステップで、サイトが正常に動作し、データが正しく通過することを確認する。 最後に、第10章では、完全なエンド・ツー・エンド(Web → サービス → データ)のWebサイトを実現するために、偽のデータを取り除き、本物のデータを本物のデータベースにストアする。

第11章では、ロールを定義し、誰が何をできるかを制限するために必要な 認証認可(authenticationandauthorization)について説明する。本章の残りの部分では、認証は省略し、生のウェブ関数の扱い方だけを説明する。

間奏曲トップダウン、ボトムアップ、ミドルアウト?

Webサイトをデザインする場合、以下のいずれかから始めることができる:

  • ウェブ・レイヤーと下層への作業

  • データレイヤーとワークアップ

  • サービス・レイヤーは双方向に機能する。

すでにデータベースがあり、データがインストールされ、それを世界と共有する方法が欲しくてたまらないのだろうか? もしそうなら、まずデータレイヤーのコードとテストに取り組み、次にサービスレイヤーに取り組み、最後にウェブレイヤーを書くといいだろう。

ドメイン駆動設計に従うのであれば、真ん中のサービスレイヤーから始めて、コアとなるエンティティやデータモデルを定義するかもしれない。あるいは、まずWebインタフェースを進化させ、下位レイヤーに期待することがわかるまで、下位レイヤーへの呼び出しをフェイクにしたいかもしれない。

これらの本には、非常に優れたデザイン論や推奨事項が発見できるだろう:

どのように進めるかは、すでに持っているデータや、サイト構築の作業にどのように取り組みたいかに大きく左右される。 ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

GitHubアクションを学ぶ

GitHubアクションを学ぶ

Brent Laster
仕事ではじめる機械学習 第2版

仕事ではじめる機械学習 第2版

有賀 康顕, 中山 心太, 西林 孝

Publisher Resources

ISBN: 9798341624658