マガジンのカバー画像

Web API

6
WebAPI開発一般のまとめになるように心がけています Python一般やFastAPIなど関連記事はリンクで飛べるように努めます
運営しているクリエイター

記事一覧

【WebAPI】サーバー起動(備忘録)

【WebAPI】サーバー起動(備忘録)

(バックエンド)FastAPIサーバー起動(Poetryでバージョン管理 + uvicorn(ユビコーンって読むっぽい、youtubeとかで発音きいた)サーバーの場合)

poetry run uvicorn fastapi_app_main:image_proc_app --reload

# poerty run サーバ名 モジュール名:インスタンス名 --reloadオプション

(フロ

もっとみる
【WebAPI】Vue.jsのaxiosでFormDataを扱う時の注意【備忘録】

【WebAPI】Vue.jsのaxiosでFormDataを扱う時の注意【備忘録】

APIを叩いたりしてフォームデータやパラメータのやりとりをやっているとよく間違えるので、備忘録

FastAPI(つまりバックエンドのPython上)だとrequestで受け取ったformの中身は

form = await request.form()

value = form['key']

という感じで取得できるが、Vue.js(つまりフロントエンドのjs上)だと

formData.g

もっとみる
【Web API】WEB API設計の基本

【Web API】WEB API設計の基本

「あるデータの集合」と「個々のデータ」をエンドポイントとして表現し、それに対して HTTP のメソッドで操作を表していく考え方は、Web API 設計の基本中の基本

引用元:Web API: The Good Parts

【Web API】PUT メソッドと POST メソッドの違い

【Web API】PUT メソッドと POST メソッドの違い

集合(テーブル)と要素(レコード)に対応する違いがある。

あるURI に対して POST メソッドのリクエストを送ると、それに従属するリソースが作成される。この URI が表すのはメモの集合だとすると、それに従属する子は一個一個のメモと考えられる。

PUT は「べき等性」を持たなければならない。すなわち、同じパラメータを伴う PUT メソッドのリクエストを一度送ろうが、何度送ろうが、リソースの

もっとみる
【Web API】利便性が高いAPI設計(汎用性 < 利便性)

【Web API】利便性が高いAPI設計(汎用性 < 利便性)

汎用性、流用性(機能の細分化)より利便性が重視されるケース

API の設計を一般的な定石(汎用性の高さ、単一責任)に従って行う際、例えばEコマースの「新着商品」、「人気 の商品」、「ユーザー情報」、「おすすめ商品」などはすべて異なる API となってしまうことがある。そうしたクライアントアプリケーションはホーム画面たった 1 画面を表示するのに、何度も異なる API にアクセスしなければならず、

もっとみる
【Web API】APIのURL(エンドポイント)の命名

【Web API】APIのURL(エンドポイント)の命名

モデル型かアクション型か
URLを設計する際にRESTfulに作るのがデファクトになっていいるが、その中でもURLの作り方をモデル(ユーザ、商品など)にするか、アクション型(購入する、出席するなど)にするかで分かれる。どちらを採用するにしても明確な基準が必要である。両方を満遍なく取り入れると、非常に分かりづらいものになってしまう。

一般的にはモデル型

一般的には GET /users/1 でユ

もっとみる