使用服务

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

定义好的 demo 服务,可以在 posts 控制器里用一下, 我们要把这个服务作为控制器的依赖注入进来,可以通过控制器类的构造方法实现。

先在类里面添加一个 private readonly 属性, 就是私有的只读的属性,名字叫 demoService。

然后再添加一个构造方法,constructor,给它提供一个 demoService 参数,类型就是之前定义的 DemoService 服务。

在方法里面,让 this.demoService 等于 demoService 参数的值,这样这个类里的 demoService 属性的上面,就会拥有 DemoService 服务上定义的方法。

控制器的 index 方法要返回一组内容列表, 现在可以让它 return,执行 this.demoService 上的 findAll 这个方法返回的东西。

findAll 是在 DemoService 上定义的一个方法,它能帮我们做的事情就是查询出所有的内容。

再修改一下 store 方法, 方法里面,执行 this.demoService 上的 create 方法,把 post 参数的值交给它, 它会帮我们存储在请求里发送过来的内容数据。

在客户端可以试一下, 先用 POST 这种 HTTP 方法,请求一下 posts 这个地址, 请求里带着一个 JSON 格式的数据 ,数据里需要一个 title 属性,值的类型是 string。

发送一下这个请求, posts.controller 里的 store 方法会处理这个请求,在这个方法里,用了 demoService 服务里的 create 方法,把请求里带着的这个数据存储起来,暂时我们只是把它存储在一个临时的数组里, 真实的应用你需要把数据存储在数据库里。

然后再用 GET 方法, 请求一下 posts 地址, 会返回一组内容, 里面会包含刚才用 POST 方法发布的这个内容数据。

用 GET 方法请求 posts 地址,会用 posts.controller 里的 index 方法来处理,在这个方法里,我们执行了 demoService 服务里的 findAll 方法,得到了一组内容数据。

使用服务《 Nest.js 应用框架:核心部件(1) 》

统计

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

社会化网络

关于

微信订阅号

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