现在我们可以在应用里定义一个获取单个内容用的接口,先去定义这个接口需要的处理器,打开 post.controller,在文件的顶部,把 getPostById 从 post.service 里面导入进来。
再找一个地方,去定义单个内容接口需要的处理器,处理器的名字叫 show,在这个处理器里面先准备点数据,把 postId 从地址参数里解构出来,地址参数都在 request 上的 params 这个属性里面。等会儿设计这个单个内容接口的时候,我们会在接口的地址里加上这个参数。
下面可以调取需要的内容数据,用一组 try,catch,在 try 里面,声明一个 post,等于 await,执行一下 getPostById 这个函数,要给它提供一个 postId 参数,用 parseInt 处理一下在上面从地址参数里得到的 postId 的值,把它转换成十进制的数字。
执行这个动作出了什么问题可以在 catch 区块里处理,执行 next ,带着 error,这样会把错误交给应用的异常处理器去处理。
有了内容数据以后,就可以把它发给客户端,用 response 上面的 send ,把 post 交给客户端。
打开 post.router,在这个文件里找个地方,去定义单个内容接口,用 router 上的 get 方法定义这个接口,地址是 /posts/:postId, 这里的 postId 就是地址里面的一个参数,它的值应该是一个内容的 id 。
接口处理器可以设置成 post.controller 里的 show 这个方法。