概要 まずは先に二つの記事をどうぞ DynamoDB HTTP API が独特な仕様なので紹介 Python の JSON Schema ライブラリを使ってみる さて、 最近は JSON を受け取って JSON を返す、この仕組みを実装する事が多いのですが、HTTP ベースとなると色々辛くなってきます。URL の設計、メソッドの選択などなど。もう面倒くさいから URL や メソッドは統一してしまいます。 機能判定は HTTP の独自定義したヘッダーを使う X-Amz-Target: DynamoDB_20120810.PutItem X-<会社名?>-Target: サービス名_日付.機能名 URL は / のみ メソッドは POST のみ 全てのやりとりは JSON で バリデーションは Req/Res 両方を JSON スキーマを使う とにかく頑張らない仕組みを作ります。 ライブラリの
![Flask と JSON スキーマで DynamoDB 風の API を実装してみる - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/c03cff961301955977d4641bcfe07a60b1faedb3/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Fogp-background-1150d8b18a7c15795b701a55ae908f94.png%3Fixlib%3Drb-1.2.2%26w%3D1200%26mark%3Dhttps%253A%252F%252Fqiita-user-contents.imgix.net%252F~text%253Fixlib%253Drb-1.2.2%2526w%253D840%2526h%253D380%2526txt%253DFlask%252520%2525E3%252581%2525A8%252520JSON%252520%2525E3%252582%2525B9%2525E3%252582%2525AD%2525E3%252583%2525BC%2525E3%252583%25259E%2525E3%252581%2525A7%252520DynamoDB%252520%2525E9%2525A2%2525A8%2525E3%252581%2525AE%252520API%252520%2525E3%252582%252592%2525E5%2525AE%25259F%2525E8%2525A3%252585%2525E3%252581%252597%2525E3%252581%2525A6%2525E3%252581%2525BF%2525E3%252582%25258B%2526txt-color%253D%252523333%2526txt-font%253DAvenir-Black%2526txt-size%253D54%2526txt-clip%253Dellipsis%2526txt-align%253Dcenter%25252Cmiddle%2526s%253De4bb1371ad07ff970cc536c48e5ac9b6%26mark-align%3Dcenter%252Cmiddle%26blend%3Dhttps%253A%252F%252Fqiita-user-contents.imgix.net%252F~text%253Fixlib%253Drb-1.2.2%2526w%253D840%2526h%253D500%2526txt%253D%252540voluntas%2526txt-color%253D%252523333%2526txt-font%253DAvenir-Black%2526txt-size%253D45%2526txt-align%253Dright%25252Cbottom%2526s%253D0ad4bfce617cdb4fdd48f197d86c36f8%26blend-align%3Dcenter%252Cmiddle%26blend-mode%3Dnormal%26s%3D776875b7b59a9f3b4f0e34014611c1e2)