我曾经用英语进行开发,但这次,我正在构建的 webApp 仅适用于我所在城市的人们,也就是法国。
在氮气中,当您调用“/user/login”时,氮气会调用 user_login:main()。当请求是“/utilisateur/connexion”时,我希望氮调用 user_login:main()。
当请求是“/annonces/personnes”等时,我希望氮调用 ads_people:main()。
有没有办法正确地实现这一目标?
非常感谢 !
我曾经用英语进行开发,但这次,我正在构建的 webApp 仅适用于我所在城市的人们,也就是法国。
在氮气中,当您调用“/user/login”时,氮气会调用 user_login:main()。当请求是“/utilisateur/connexion”时,我希望氮调用 user_login:main()。
当请求是“/annonces/personnes”等时,我希望氮调用 ads_people:main()。
有没有办法正确地实现这一目标?
非常感谢 !
您可以使用 Nitrogen 的 named_route_handler 插件轻松完成此操作。步骤是:
在调用nitrogen:run()之前插入以下行:
wf_handler:set_handler(named_route_handler, get_routes()).
添加 get_routes/0 函数:
get_routes() -> [
{"/utilisateur/connexion", user_login},
{"/annonces/personnes", annonces_persons},
etc...
].
元组中的第一个元素是 URL 中的路径,第二个元素是相应模块的名称,该模块将处理具有此类路径的请求。
在 Nitrogen 前使用代理(如 nginx)来进行这种 URL 重写。
或者,如果您想在纯氮气中进行,请查看 src/handlers/route/named_route_handler.erl 中的一些文档