14. Simple Healthz Controller
Simple Healthz Controller
เรามาเริ่มทำ controller แบบง่ายๆกันก่อน เป็น path /healthz
เอาไว้ทำ Health check แบบง่ายๆ
src/controllers/healthz.ts
เราจะสร้าง doc ขึ้นมาก่อน ผ่าน describeRoute()
ซึ่งในนี้จะเป็นการใส่ข้อมูลเกี่ยวกับ Response อย่างเดียว
ซึ่งมีโครงสร้างตามที่เห็น
object responses
ต้องใส่ object ซึ่งใช้ key ที่เป็น HttpStatus เช่น 200
, 201
, 404
, 500
แล้วตามด้วย content
ภายใน object content
จะต้องเป็น content type เป็นอะไร เช่น application/json
, text/plain
, text/html
แล้วเราก็จะใส่ schema
เข้าไป
ตรง schema
นี้เราจะใช้ Effect Schema อีกเช่นเคย ตรงนี้ต้องใส่ resolver()
ด้วย เพื่อไปเรียกคำสั่งแปลง Effect Schema ให้ไปเป็น JsonSchema
สุดท้ายใน doc ต้องอย่าลืมใส่ description
ด้วย
จากตัวอย่างด้านบนเราจะ new Hono()
ใหม่เลย ทำให้เราได้ hono app ตัวใหม่ออกมาเลย
จากนั้นก็ใส่ .get("/")
จะเห็นว่าใช้ paht ”/” เฉยๆเลย ตรงนี้เรายังไม่ต้องสนใจว่าจะใช้ path อะไร เดี๋ยวเราไปกำหนดตอนที่ต้องเรียกใช้
ที่ index.ts
อีกที
แล้วเราก็ export Hono app ตัวใหม่ออกมา
use healthz controller in index.ts
ตรงนี้เราจะเอา Hono app ตัวใหม่มาใส่ที่ Hono app ตัวหลักของเรา ผ่าน .route(<path>, <hono app>)
แล้วเราจะกำหนดตรงนี้แหละว่า path ที่ใช้กับ Hono app ตัวใหม่เป็นอะไร