建立第一個RESTful api server(實作篇)-2
在上一步我們建立了一個基礎的echo的server 緊接著我們就要建立第 一個crud的api了
關於我們未來會需要幾個資料表 request(儲存需要觸發的IOT物件) command(使用者需要觸發的事件) 而這個系統最基礎的需求是
使用者可以透過命令的觸發,來依序執行request的事件 而每個request可以被多個命令重複利用
所以因為這些需求,會需要開設這些表 table: request columns:
- uuid(uuid)
- create_at(timestamptz)
- update_at(timestamptz)
- name(varchar)
table: command columns:
- uuid(uuid)
- create_at(timestamptz)
- update_at(timestamptz)
- url(varchar)
table:request_command columns:
- uuid(uuid)
- create_at(timestamptz)
- update_at(timestamptz)
- request_uuid(uuid)
- command_uuid(uuid)
- order(int)
而在我們的流程中,要先有command跟request才可以建立其中的連結,因此需要先建立commands/requests的api
需要完成的API規格如下 https://www.postman.com/collections/c00ca09e40a2769fd96e
在屬性命名上,屬性名稱主要是camel case,首字為小寫
另外,在api的規範上,參考JSend https://github.com/omniti-labs/jsend
規範如下
- 成功
- 定義 要求被成功執行
- 資料格式如下
{
"status": "success",
"data": {
// 回傳的資料內容
}
}
- 失敗
- 定義 資料被正常執行完,發現其中資料有被程式檢查出來的問題時
- 資料格式如下
{
"status": "fail",
"data": {
// 資料格式不對的回傳內容
}
}
- 錯誤
- 定義 資料並沒有被正確的處理,而回傳的錯誤
- 資料格式如下
{
"status": "error",
"message": "錯誤訊息"
}