我用koa.js做了一个前端服务器,用于模板渲染和转发请求,自身不涉及数据操作。路由这一块,我用的是koa-router。
之前整个站是单页面应用,get请求只是单纯的渲染页面而已,所有的数据相关的请求都是页面发post请求到koa上,koa只是单纯的转发而已,而请求的参数都是在页面请求发起的时候组装的。
现在业务有所变更,要求get请求即渲染模板的时候要装载数据。正常情况下,koa渲染模板前需要request数据服务器去拿数据。但是现在有这么个情况,即渲染模板拿数据的这个接口能不能放到转发post请求(即暴漏给前端的接口)中去,然后把拿数据的请求改成 由接口名称请求koa服务器自身,通过转发的请求拿到数据。
这样,这个拿数据的接口也能暴漏给前端,就能复用。
如果实现上面的要求,我可以用完整的request请求自身请求地址去实现,但是这样我理解还是走了完整的请求路径,比原先多了一道服务器流程。能不能不走request,通过某个触发实现呢?
为毛要请求自己其他接口
可以把处理数据的部分封装成一个函数
然后两个 url 都路由到同一个函数上就可以了
使用 node-fetch 或者 request 插件都可以,具体使用可以去npm看API。
当然使用原生的http模块也可以实现。