前言
一個不小心就休了十天,打這系列文章讓我真心佩服那些挑戰it鐵人賽的人,每天一篇文張看來真的不是開完笑的累。
建立控制器
可以使用指令`node ace make:controller [controller_name]`來新增controller,也可以手動新增檔案。
方法中第一個參數預設會帶入context,內容幾乎涵蓋網站開發的重要物件
request: 封裝了請求對象,包含了請求頭,請求參數,請求體等信息。
response: 封裝了回應對象,用於提供回應的方法,如返回 JSON 數據或重定向。
params: 封裝了路徑參數,可以訪問路徑中的參數。
view: 封裝了渲染視圖的方法,用於渲染模板並返回 HTML。
auth: 封裝了認證和授權的方法,用於確認用戶是否已經登錄。
antl: 封裝了國際化的方法,用於翻譯文本。
session: 封裝了 session 的方法,用於在請求之間存儲數據。
import type { HttpContextContract } from "@ioc:Adonis/Core/HttpContext";
export default class HellosController {
say(ctx: HttpContextContract) {
ctx.response.send("hello")
}
}
小提醒:特定物件需再安裝完套件之後才會有,例如auth, session, view, antl,這系列文章中因為主要focus在api的開發上,所以只會提到auth,對此有興趣的觀眾可以自行到官網上查詢。
小結
controller雖然不是個特別難的章節,但卻是在開發上非常重要的環節,有效使用controller好處是可以把route映射在controller的方法上,有效分離程式碼落實關注點分離,避免route做太多不關他的工作。
總而言之,AdonisJS 控制器是一個非常強大且易於使用的組件,能夠有效地組織應用程序的邏輯,並提供了豐富的功能供開發者使用。
沒有留言:
張貼留言