■目次
【GET /api/v1/users のリソース表現】
全ユーザーのデータがオブジェクトとして配列に入って返ってくる
▼ユーザーが2人だけの場合
[
{
"id": 1,
"name": "Subaru",
"profile": "エミリアたんマジ天使!",
"created_at": "2020-10-13 07:56:09",
"updated_at": "2020-10-13 07:56:09",
"date_of_birth": null
},
{
"id": 2,
"name": "Emilia",
"profile": "もう、スバルのオタンコナス!",
"created_at": "2020-10-13 07:56:09",
"updated_at": "2020-10-13 07:56:09",
"date_of_birth": null
}
]
【GET /api/v1/users/:id のリソース表現】
指定IDにマッチしたデータが単一のオブジェクトとして返ってくる
▼curl -X GET <http://localhost:3000/api/v1/users/3> を実行した場合
{
"id": 3,
"name": "Ram",
"profile": "いいえお客様、きっと生まれて来たのが間違いだわ",
"created_at": "2020-10-13 07:56:09",
"updated_at": "2020-10-13 07:56:09",
"date_of_birth": null
}
【GET /api/v1/search のリソース表現】
検索にマッチしたデータがオブジェクトとして配列に入って返ってくる
▼検索条件として「nameにRとmが入っているデータ」とした場合
[
{
"id": 3,
"name": "Ram",
"profile": "いいえお客様、きっと生まれて来たのが間違いだわ",
"created_at": "2020-10-13 07:56:09",
"updated_at": "2020-10-13 07:56:09",
"date_of_birth": null
},
{
"id": 4,
"name": "Rem",
"profile": "はい、スバルくんのレムです。",
"created_at": "2020-10-13 07:56:09",
"updated_at": "2020-10-13 07:56:09",
"date_of_birth": null
}
]
/* データベースのパス */
const dbPath = 'app/db/database.sqlite3';
/* データベース接続開始 */
const db = new sqlite3.Database(dbPath);
/* {}内部のSQLクエリを同期的に実行(一つひとつ処理を実行) */
db.serialize(() => {
// queries
});
/* 全ての結果を1度に取得 */
db.all(sql, (err, rows) => {});
/* 1つだけ結果を取得 */
db.get(sql, (err, row) => {});
/* SQLクエリを実行(もしerrorがあればそれが返ってくる) */
db.run(sql, (err) => {});
/* データベース接続終了 */
db.close();
☆ 1-2. リソース設計とDB設計【解説 / 実装】 を参考に、以下を行う
追加したデータを確認したい場合は、以下コマンドを実行する
SELECT * FROM テーブル名;
// 例
SELECT * FROM users;
ここまでできたら、一度control + Dで接続を解除する
▼ダミーデータ例