[EP.1] Nest.js + MySql (Controller , Module)
![[EP.1] Nest.js + MySql (Controller , Module)](/content/images/size/w960/2020/10/close-shot-cute-kitten-blanket.jpg)
สวัสดีครับ วันนี้มีอารมณ์อยากหัดเขียน backend ที่ใช้ Node.js ดูแต่ framework มีให้เลือกเยอะมากแต่ลองหาๆดู ก็เจอ Nest.js ที่น่าสนใจ เพราะ มัน เป็น typescript (อยากลองเขียนโดยใช้ typescript บ้าง เพราะปกติเจ้าของบล๊อค เขียนแต่ javascript อย่างเดียวเลย) วันนี้ก็เลยจะมาหัด Nest ดู จะทำเป็น CRUD ง่ายๆมาเริ่มกันเลยดีกว่า
ลง nest กันก่อนเลย~
npm i -g @nestjs/cli
nest new user-crud
โครงสร้างก็จะประมาณนี้

ลอง npm start ดู ว่ารันได้ไหม http://localhost:3000/ ถ้ารันได้จะมีคำว่า Hello World! ขึ้น
มาสร้าง Controller
ต่อไปเราจะสร้าง controller โดยพิมพ์คำสั่ง
nest g controller users
เพียงเท่านี้เราก็จะได้ users controller มาแล้ว

จากนั้นเพิ่ม code ลงไปใน
users.controller.ts
@Get()
getUsers() : string {
return "Get all user here"
}
เราก็จะได้ http://localhost:3000/users มาแล้วครับ
มาแยกออกเป็น Module กันเถอะ
สร้างไฟล์ ชื่อว่า users.module.ts จากนั้นเพิ่มโค๊ดตามข้างล่าง
@Module({
controllers: [UsersController],
providers: [],
})
export class UsersModule {}
หลังจากนั้น app.module.ts ใส่ UserModule ไปใน imports เพียงเท่านี้ user เราก็แยกออกเป็น module เรียบร้อย
@Module({
imports: [UsersModule],
controllers: [AppController, UsersController],
providers: [AppService],
})
export class AppModule { }
ผลลัพธ์ที่ได้

EP.1 เอาแค่นี้ก่อนนะครับ EP นี้ ขอมาลองสร้าง route สร้าง controller แยกออกเป็น module ไปก่อน เพื่อให้บทความไม่ยาวจนเกินไป EP ต่อไป เราจะมาลุย ต่อ Database กัน ว่าจะเชื่อม. database ยังไง ทำ api CRUD ยังไง
