VISITS Technologies Advent Calendar 2020 15日目は@woods0918が担当します。 私がプロダクトマネージャーを務めているideagramというサービスのバックエンドでは、REST APIからGraphQLへの移行が進んでいます。 初めてのGraphqlやGraphQL Playgroundを通してGraphQLの知識とクライアント側の操作は経験したのですが、GraphQLサーバーを実装した経験がなかったので、バックエンドエンジニアとの会話をスムーズにするために、挑戦してみようと思います。 今回は書き慣れているPythonで実装しますが、ideagramで採用している言語はRuby(WAF : Ruby on Rails)です。 コードはこちら Pythonとライブラリのバージョン python = "^3.8" fastapi = "^0.62
FastAPI framework, high performance, easy to learn, fast to code, ready for production ドキュメント: https://fastapi.tiangolo.com ソースコード: https://github.com/tiangolo/fastapi FastAPI は、Pythonの標準である型ヒントに基づいてPython 以降でAPI を構築するための、モダンで、高速(高パフォーマンス)な、Web フレームワークです。 主な特徴: 高速: NodeJS や Go 並みのとても高いパフォーマンス (Starlette と Pydantic のおかげです)。 最も高速な Python フレームワークの一つです. 高速なコーディング: 開発速度を約 200%~300%向上させます。 * 少ないバグ: 開発者起
テックブログ担当させていただくことになりましたTakです。業務ではJavaのサーバーサイド実装が主なのですが個人的にはPythonが好きです。私の業務では使っていませんがPythonについての記事になります。 OpenAPIとは?REST APIを開発する際にAPI仕様書をOpenAPI Specificationで用意するのは一般的です。「OpenAPIとはなにか」が分からない場合はググってもらうとたくさん解説が見られるのでそちらをご覧ください。 簡単に言えば、「あるREST APIは、このようなパスで、このようなリクエストを受け付けてこのようなレスポンスを返すよ」というスキーマ定義です。 GraphQLのスキーマ定義についてはこの記事では書いてないです。 文章で書かれたAPIドキュメントは人間が読むだけのものになりますが、OpenAPIのスキーマ定義はツールに読み込ませて次のようなこと
今回はRequest パラメータのバリデーションを取り上げます。パスパラメータとクエリパラメータです。Swagger UIとともに、FastAPIでの開発効率を上げてくれるものです。 【過去記事】 Python Asyncio入門 Aiohttpで作るSimple Web Server - Qiita Starletteで作る Simple Web Server - QIita FastAPIで作るWebアプリ - 基本 FastAPIで作るWebアプリ - validation FastAPIで作るWebアプリ - Body validation FastAPIで作るWebアプリ - Form validation FastAPI 公式サイト 1.パスパラメータ 1-1.型チェック 前回と同じプログラムを使います。 from fastapi import FastAPI app = Fa
参考資料 FastAPIは? FastAPI framework, high performance, easy to learn, fast to code, ready for production 特徴 typeの定義でrequest内容を自動bindingできる type hintで静的チェックできるので、バグになりにくい 簡単 ハイパフォーマンス OAuth2 OpenAPI docs自動作成 GraphQLサポート ドキュメントが充実 開発環境の構築 libraryインストール virtualenv is a tool for creating isolated virtual python environments. プロジェクトごとで依存するパッケージの管理環境を提供する FastAPI is a framework, high performance, easy to l
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く