我正在使用React + Axios在Spring Boot应用程序中进行API调用。
我的应用程序上下文路径为/test
当我在浏览器中以http://localhost:8080/test的形式启动我的应用程序时,将显示React页面。在页面渲染中,我正在GET
调用外观类似的服务
axios.get(api/events);
因此,由于/test
是上下文根,因此Expected调用应以http://localhost:8080/test/api/events进行。但是/test
已添加到API调用中。
它只是调用http://localhost:8080/api/events,结果为404。
但是,当我在浏览器中以-http://localhost:8080/test/(/在结束时)启动应用程序时-通话按预期进行
似乎API调用正在考虑窗口位置pathName而不是上下文路径。
无论浏览器URL中是否存在斜杠,如何确保所有调用都应绕过上下文路径。
axios.get(api/events);
axios.get(/api/events);
当浏览器URL末尾没有斜杠时,两者都不起作用
答案 0 :(得分:0)
您可以添加 “代理”:“ http:// localhost:port / test” 在您的package.json中。 这将解决开发环境的问题。我也在寻找生产版本的解决方案。干杯!