iT邦幫忙

2023 iThome 鐵人賽

DAY 15
0

今天來回顧一下這幾天使用到的技術和開發的API

大綱

  1. 主要使用到的技術
  2. 安裝的套件
  3. API設計

1. 主要使用到的技術

  • MongoDB — document database(資料庫)
  • Express.js — Node.js web framework(伺服器框架)
  • Node.js — the premier JavaScript web server(後端伺服器)

2. 安裝的套件

名稱 描述
nodemon 用於Node.js的工具,當檔案改變時會自動重新啟動伺服器。主要用於開發環境,提高開發效率。
Mongoose 是 MongoDB 的 ODM(Object Data Modeling) 套件。它提供了一套直接的、基於模式的解決方案,來建模應用程式中的資料,讓我們更方便處理資料庫的 CRUD。
bcryptjs 用於雜湊和檢查密碼。能將明文密碼雜湊後儲存到資料庫中的一種常見方法,以增加安全性。
config 用於Node.js應用程式的組態控制解決方案。它使您可以定義一套預設參數,並為不同的運行環境(如開發、測試、生產)擴展這些參數。
express-validator Express.js中繼器,提供強大的驗證和清理string/number等資料的工具
jsonwebtoken 一個實現JSON Web Tokens建立、解碼、驗證的Node.js模組。用於身份驗證和資料交換。
multer 用於處理multipart/form-data的Node.js中介軟體,用於上傳文件。它是Express.js內建的body-parser無法處理文件上傳的解決方案。

3. API設計

(一) Auth 相關

路由 動詞 描述
/api/auth/login POST 使用者登入
/api/auth/register POST 使用者註冊

(二) 使用者(User)相關

路由 動詞 描述
/api/users/:userId/profile GET 取得使用者的個人資料
/api/users/:userId/profile PUT 更新使用者的個人資料
/api/users/:userId/posts GET 取得特定作者的文章列表

(三) 文章(Post)相關

路由 動詞 描述
/api/posts POST 新增文章
/api/posts GET 取得所有文章
/api/posts/byTag GET 取得依照tag排列的文章列表
/api/posts?tag=:tagName GET 查詢特定tag的文章列表
/api/posts?title=:titleName GET 查詢特定標題的文章列表
/api/posts/:postId GET 取得特定文章
/api/posts/:postId PUT 更新特定文章
/api/posts/:postId DELETE 刪除特定文章

結語

/images/emoticon/emoticon58.gif
下一篇開始終於要進入前端的部分了


上一篇
[Day14] 圖片上傳API開發
下一篇
[Day16] 前端開發 - React簡介
系列文
初探全端之旅: 以MERN技術建立個人部落格31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言