这是我参加青训营笔记的第4天
BFF 接口定义
CMS 接口配置好了以后还不能直接在页面中调用,我们需要配置一层 BFF 层,即服务于前端的数据层。因为我们通常配置的数据是站在结构体的角度的,并不一定可以由前端调用,往往还需要复杂的数据处理,为了提高数据层的复用程度,我们增加 BFF 层,将 CMS 接口包一层,进行相关处理后,前端页面只调用我们定义的 BFF 层接口,不直接与 CMS 配置的接口产生交互。
./pages/api/home/test.js => api/home/test 预定义路由
./pages/api/home/[testId].js => api/home/test, api/home/1, api/home/23 动态路由
./pages/api/home/[...testId].js => api/home/test, api/home/test/12 全捕获路由
如果一个相同的路由,比如api/home/test,按照优先级来匹配三者,会按照预定义路由 > 动态路由 > 全捕获路由的顺序来匹配。
这也很好理解,因为三者匹配的精准度是逐渐下降的,如果说预定义路由是精准匹配,后两者只是模糊匹配,虽然也满足匹配场景,但是只是作为兜底,优先会以预定义路由为准。