跟. 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 '地址: https://www.geekjc.com';
- }
- @Put()
- update(){
- return '更新数据';
- }
- @Delete()
- delete(){
- return '刪除数据';
- }
- }
在项目目录下:
NPM run start:dev
src 下. ts 文档有变更会重新启动 server, 用 POSTMAN 来测试看看
2018110501.PNG
2018110502.PNG
2018110503.PNG
2018110504.PNG
AppController 收到不同的 Http Verb Request,Controller 底下对应的方法回应.
下一章将写 Controller 如何读取 URL Param,Query String,Body.
tuiguang.PNG
来源: http://www.jianshu.com/p/beb5144f118c