跟.NET ASP MVC與Java Spring framework一樣,controller負責處理來自Client的Request及產生Response給Client,Controller可以讀取URL Parameter如id、query string、資料庫存取等後,把資料丟回Client。
Hello World程式碼如下:
import { Controller, Get } from '@nestjs/common';
// nest.js Controller必須以@Controller decorator annoate
@Controller()
export class AppController {
//@Get表示Http Get
@Get()
root(): string { // : string代表回傳string
return 'Hello World!';
//return 6; Typescript compiler會提示 [ts] Type '6' is not assignable to type 'string'.
}
}
除了GET,還有POST、PUT、DELETE
@Controller、@Get、@Put、@Post、@Delete皆屬於@nestjs/common套件
先簡單建立四個方法
import { Controller, Delete, Get, Post, Put } from '@nestjs/common';
@Controller()
export class AppController {
@Get()
list(): string {
return '清單';
}
@Post()
create(){
return '建立資料';
}
@Put()
update(){
return '更新資料';
}
@Delete()
delete(){
return '刪除資料';
}
}
在專案目錄下
yarn start:dev
src下.ts檔有變更會重新啟動server,用POSTMAN來測試看看
AppController收到不同的Http Verb Request,Controller底下對應的方法回應。
Controller如何讀取URL Param、Query String、Body,明天繼續。