我希望每个hapi路径路径都以前缀(/api/1
)开头,而不是将其添加到每个路由。这可能吗?
路径/api/1/pets
而非/pets
const Hapi = require('hapi');
const server = new Hapi.Server();
server.route({
method: 'GET',
path: '/pets'
})
答案 0 :(得分:2)
似乎您无法在整个应用程序中全局执行此操作。但是有可能为插件中定义的所有路由添加前缀:
.Click
希望这有帮助。
以防万一,如果您要尝试通过新路线的活动添加基本路径,那么它将不起作用。
答案 1 :(得分:1)
最好的选择是在路径中使用常量 -
server.route({
method: 'GET',
path: constants.route.prefix + '/pets')
});
并在静态constants.js文件中定义常量
答案 2 :(得分:0)
我在Hapi docs中看不到这样的选项。不过,我可以建议你一个小的解决方法。做一些功能:
function createRoutePath(routePath) {
return `/api/1${routePath}`;
}
然后以这种方式使用它:
server.route({
method: 'GET',
path: createRoutePath('/pets')
});
<强>更新强> 作为另一种解决方法,请保持原样,并设置代理Web服务器。例如nginx。