Skip to content

コンテンツデータ設計

Kazane Shimizu edited this page Mar 1, 2023 · 1 revision

前提

作成されたコレクションにデータを入れるAPI設計です コンテンツは型が動的なので、すべて data でjsonを受け取ることにします。

スキーマ

例として、以下のテーブルが作成済みとする

Restaurant

カラム名 タイプ 長さ NULL許可 キー デフォルト コメント
id int 11 primary
name varchar 255
address varchar 255 YES
has_parking varhcar 255
created_at dateTime
updated_at dateTime

API IF

コンテンツデータ一覧取得

GET /api/contents/:collection

リクエストパラメータについては、こちらを参照

例1)http://localhost:8080/api/contents/Restaurant 一覧の場合(singleton: false)

data: [
  {
      id: 1,
      name: '俺のフレンチ'
      address: '東京都港区..',
      has_parking: false,
      created_at: 2022-10-10,
      updated_at: 2022-10-10,      
  },
  {
      id: 2,
      name: '俺のイタリアン'
      address: '東京都江東区..',
      has_parking: true,
      created_at: 2022-10-10,
      updated_at: 2022-10-10,      
  }
]

例2)http://localhost:8080/api/contents/Company 一覧の場合(singleton: true)

data: {
  id: 1,
  name: '株式会社 俺の'
}

コンテンツデータ取得

GET /api/contents/:collection/:id

例1)http://localhost:8080/api/contents/Restaurant/1

data: {
  id: 1,
  name: '俺のフレンチ'
  address: '東京都港区..',
  has_parking: false,
  created_at: 2022-10-10,
  updated_at: 2022-10-10,      
}

コンテンツデータ登録

POST /api/contents/:collection

例)http://localhost:8080/api/contents/Restaurant

リクエストボディ

{
  name: '俺のイタリアン',
  address: '東京都港区..',
  has_parking: false
}

レスポンス(204でも良いかも?)

data: {
  name: '俺のイタリアン',
  address: '東京都港区..',
  has_parking: false,
  created_at: 2022-10-10,
  updated_at: 2022-10-10,
}

コンテンツデータ編集

PUT /api/contents/:collection/:id

いつものやつ

コンテンツデータ削除

DELETE /api/contents/:collection/:id

いつものやつ