hero.badgeHub

Todo 應用程式後端模板
REST API

可生產的 REST API Todo 後端模式和 Starter Kit on Back4app:ER 圖、資料辭典、JSON 結構圖、API playground、程式碼範例,以及可在幾分鐘內部署的一鍵式 AI Agent提示。

概述

Todo 應用程式是學習後端開發最常見的起點之一。它需要使用者註冊、任務 CRUD、基於所有權的存取控制,以及可選擇的即時同步。

下面的模式定義了兩個類別 - _User(內建)和 Todo,它們由一個 Pointer 連接。使用 Back4app REST API SDK,您可以從應用程式與此後端互動 - 查詢、建立、更新及刪除物件 - 而無需撰寫自訂 API 層。

ER 圖

Todo 應用程式資料模型的實體關係圖。

erDiagram _User { String objectId PK String username String email String password Date createdAt Date updatedAt } Todo { String objectId PK String title Boolean done Date dueDate Number priority Pointer owner FK Date createdAt Date updatedAt } _User ||--o{ Todo : "owns"
正在載入圖表...
檢視圖表來源
erDiagram
    _User {
        String objectId PK
        String username
        String email
        String password
        Date createdAt
        Date updatedAt
    }

    Todo {
        String objectId PK
        String title
        Boolean done
        Date dueDate
        Number priority
        Pointer owner FK
        Date createdAt
        Date updatedAt
    }

    _User ||--o{ Todo : "owns"

資料詞典

模式中每個類別的完整欄位參考。

Todo

現場類型說明必須
objectIdStringAuto-generated unique identifier自動
titleStringShort description of the task
doneBooleanWhether the task is completed
dueDateDateOptional deadline for the task
priorityNumberPriority level (1 = high, 3 = low)
ownerPointer<_User>User who owns this task
createdAtDateAuto-generated creation timestamp自動
updatedAtDateAuto-generated last-update timestamp自動

_User

現場類型說明必須
objectIdStringAuto-generated unique identifier自動
usernameStringLogin username
emailStringEmail address
passwordStringHashed password (write-only)
createdAtDateAuto-generated creation timestamp自動
updatedAtDateAuto-generated last-update timestamp自動

模式 (JSON)

原始 JSON 方案定義 - 複製並在您的 Back4app 應用程式中使用,或透過 API 匯入。

{
  "classes": [
    {
      "className": "Todo",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "title": {
          "type": "String",
          "required": true
        },
        "done": {
          "type": "Boolean",
          "required": false,
          "defaultValue": false
        },
        "dueDate": {
          "type": "Date",
          "required": false
        },
        "priority": {
          "type": "Number",
          "required": false,
          "defaultValue": 3
        },
        "owner": {
          "type": "Pointer",
          "targetClass": "_User",
          "required": false
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "_User",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "username": {
          "type": "String",
          "required": true
        },
        "email": {
          "type": "String",
          "required": true
        },
        "password": {
          "type": "String",
          "required": true
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    }
  ]
}

使用 AI Agent 建立

按下下面的按鈕,即可開啟預先填入此範本提示的 Agent。

AI 代理商
準備建造
請使用以下確切的架構與行為在 Back4app 上建立 Todo 應用程式。

架構:
1. _User(使用 Back4app 內建):username(字串,必填)、email(字串,必填)、password(字串,必填);objectId、createdAt、updatedAt(系統)。
2. Todo:title(字串,必填)、done(布林,預設:false)、dueDate(日期,選填)、priority(數字,預設:3;1=高,2=中,3=低)、owner(指向 _User 的指標;建立時設為目前使用者);objectId、createdAt、updatedAt(系統)。

安全性:
- 為每個 Todo 設定 ACL,僅允許擁有者讀寫。不開放公開讀寫。
- 建立時將 Todo.owner 設為目前使用者(例如透過 Cloud Code beforeSave 或用戶端)。
- 使用類別層級權限,僅允許已驗證使用者建立/讀取/更新/刪除 Todo。

認證:
- 註冊(username、email、password)與登入;支援登出/工作階段。
- 登入後,應用程式應僅顯示並允許目前使用者之 todo 的 CRUD。

行為:
- Todo 完整 CRUD:建立、列表(僅擁有者)、取得單一、更新(切換 done、編輯標題、dueDate、priority)、刪除。
- 列出 todo 並排序(例如依 priority 再 dueDate 或 createdAt)。新 todo 的預設 priority:3(低)。

交付:
- 使用上述架構、ACL 及所需 Cloud Code(例如在 Todo 的 beforeSave 設定 owner)建立 Back4app 應用程式。
- 產生前端並連接到此後端;部署使應用程式可端對端執行。

每月 50 個免費提示無需信用卡

API 遊樂場

請嘗試 Todo 方案的 REST 和 GraphQL 端點。來自上述範例資料的回應 - 不需要 Back4app 帳戶。

GET
https://parseapi.back4app.com/classes/Todo
標題
{
  "X-Parse-Application-Id": "YOUR_APP_ID",
  "X-Parse-REST-API-Key": "YOUR_REST_API_KEY"
}

將此後端與 REST API 搭配使用

使用標準 HTTP 請求連線至您的 Back4app 後端。

1

取得 API 憑證

在 Back4app 建立應用程式後,請在 App Settings → Security & Keys 中找到您的 Application IDREST API Key。所有請求皆需要這些標頭。

# Required headers for every request
X-Parse-Application-Id: YOUR_APP_ID
X-Parse-REST-API-Key: YOUR_REST_API_KEY
2

建立待辦

curl -X POST \
  -H "X-Parse-Application-Id: YOUR_APP_ID" \
  -H "X-Parse-REST-API-Key: YOUR_REST_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"title":"Buy groceries","done":false,"priority":2}' \
  https://parseapi.back4app.com/classes/Todo
3

列出所有待辦

curl -X GET \
  -H "X-Parse-Application-Id: YOUR_APP_ID" \
  -H "X-Parse-REST-API-Key: YOUR_REST_API_KEY" \
  https://parseapi.back4app.com/classes/Todo
4

更新待辦

curl -X PUT \
  -H "X-Parse-Application-Id: YOUR_APP_ID" \
  -H "X-Parse-REST-API-Key: YOUR_REST_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"done":true}' \
  https://parseapi.back4app.com/classes/Todo/OBJECT_ID
5

刪除待辦

curl -X DELETE \
  -H "X-Parse-Application-Id: YOUR_APP_ID" \
  -H "X-Parse-REST-API-Key: YOUR_REST_API_KEY" \
  https://parseapi.back4app.com/classes/Todo/OBJECT_ID

常見問題

有關 Todo 應用程式後端模板的常見問題。

什麼是 Back4app?

Back4app 是 Todo 和任務應用程式的後端。對於 REST,您可以為 Todo 和 X-Parse-Session-Token auth 獲得清晰的 GET/POST/PUT 端點,而無需伺服器寫入或託管。

為什麼 Todo REST API 要使用 Back4app?

Back4app 為 Todo 提供了一個規範就緒的 REST API:清晰的 GET/POST/PUT/DELETE 端點、X-Parse-Session-Token 認證,以及 API playground。它適用於任何使用 HTTP 的堆疊,並且需要一個受管理的 BaaS來取代自訂的後端。

在 REST API 中,Todo 類是什麼?

Todo 是一個 Back4app 類,包含 title、done、dueDate、priority 和 owner (指向 _User)。REST 端點:GET/POST /classes/Todo, GET/PUT/DELETE /classes/Todo/:id。回應包括 objectId、createdAt、updidatedAt。

如何在 REST 中傳送會話標記?

包含 X-Parse-Session-Token 標頭與登入時傳回的值。伺服器會強制執行 ACL,因此只有擁有者的 todos 才會被傳回或修改。在每次認證請求中使用此標頭。

我可以通过 REST API 向 Todo 添加字段吗?

是的。POST 或 PUT 新欄位的 JSON;Back4app 的靈活模式接受它們。如果您願意,也可以從儀表板新增欄位。無遷移。

如何使用 REST 按優先順序查詢 todos?

使用 GET /classes/Todo?where={"priority":1}&order=priority。where 參數支援比較運算符號 ($lt、$gt 等);order 及 -order 控制排序。使用 limit 和 skip 進行分頁。

REST 用戶端是否提供即時功能?

Live Queries 使用 WebSockets 並可用於即時更新。對於僅用於 REST 的用戶端,可輪詢 GET 端點,或使用 REST API 進行 CRUD,並在需要時使用單獨的訂閱機制。

如何透過 REST 新增類別或標籤?

新增標籤陣列或類別和關係。在 POST/PUT 體中傳送新欄位。使用 where 進行過濾查詢。

準備好建立您的 Todo App 嗎?

finalCta.subtitleHub