路由(Routes)

0
视频
0
完成
0%
进度
0
分钟
0
完成
0%
进度

在之前创建的 PostsController 用的 @Controller 装饰器里,给它提供了一个 posts,这个东西会作为控制器的一个前缀,也就是这个控制器处理的请求的地址都会包含一个 posts 前缀。

下面打开一个 HTTP 客户端,我用的是 Insomnia ,用 GET 方法,请求一下 http://localhost:3000/posts

应用做出的回应,状态码是 404,表示没找到请求的东西。

在这个 Posts 控制器里,要处理使用 GET 方法的 HTTP 请求,需要添加一个处理方法 。

这个方法要用 @Get 装饰器装饰一下,输入 Get 的时候编辑器会提示要不要从 @nestjs/common 里面把它提取出来,按一下 Tab 键或者回车键,这样在文件顶部会自动把 Get 从 @nestjs/common 这个模块里解构出来。

这个 @Get 装饰器装饰的是一个方法,方法的名字可以自己随便定义,比如添加一个 index 。

index 这个请求的处理方法返回的东西就是使用 HTTP 的 GET 方法请求 posts 这个地址的时候得到的那个响应。

先让这个方法响应一个字符串, 回到 HTTP 客户端,请求一下 posts ,这回从应用那里得到的响应, 状态码会是 200 ,响应的数据就是一个字符串。

请求的处理方法如果返回的是一个对象或者数组,Nest 会自动把它解释成 JSON 格式的数据。

让这个 index 方法返回一个数组,里面添加一个对象, 有个 title 属性,设置一下它的值。

再回到 HTTP 客户端,重新用 GET 方法请求一下 posts 地址,这回从 Nest 应用那里得到的响应是个 JSON 格式的数组。

在 @Controller 装饰器里设置了一个 posts 前缀,所以使用 GET 方法请求 posts 这个地址的时候,就会使用 index 这个方法来处理。

如果在 @Controller 里不加 posts ,就需要在 @Get 装饰器这里设置一个具体的地址,比如可以是 posts。

再回到客户端发送一下这个请求,仍然可以返回一组 JSON 数组。

这里我们还是在 @Controller 装饰器上添加一个 posts 前缀。

路由(Routes)《 Nest.js 应用框架:请求与响应 》

统计

15260
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点