Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在AppEngine标准中运行的Spring引导中设置上下文路径_Java_Spring_Spring Boot_Google App Engine_Servlets - Fatal编程技术网

Java 如何在AppEngine标准中运行的Spring引导中设置上下文路径

Java 如何在AppEngine标准中运行的Spring引导中设置上下文路径,java,spring,spring-boot,google-app-engine,servlets,Java,Spring,Spring Boot,Google App Engine,Servlets,有没有办法在GCP AppEngine标准中运行的Spring启动应用程序中设置上下文路径 我想为我的所有资源添加一个隐式前缀。因此,如果@RestController是,比如说,/a和/b,我希望访问它们,它们的URL总是/my/prefix/a和/my/prefix/b。在Spring Boot的正常嵌入式模式下,通过设置server.servlet.context路径,可以实现这一点。但是,AppEngine不遵守此设置。其中,/my/prefix/a返回一个404,我必须使用/a 如何在

有没有办法在GCP AppEngine标准中运行的Spring启动应用程序中设置上下文路径

我想为我的所有资源添加一个隐式前缀。因此,如果
@RestController
是,比如说,
/a
/b
,我希望访问它们,它们的URL总是
/my/prefix/a
/my/prefix/b
。在Spring Boot的正常嵌入式模式下,通过设置
server.servlet.context路径
,可以实现这一点。但是,AppEngine不遵守此设置。其中,
/my/prefix/a
返回一个404,我必须使用
/a


如何在AppEngine标准中为所有资源添加公共前缀?这对于AppEngine的服务/模块支持来说似乎是基本的,以避免在所有控制器中重复前缀,但我找不到如何做到这一点,因此根据我与Google云支持团队的对话,我得到确认,App Engine标准不支持/遵守spring boot中设置的端口和上下文路径

这是我从他们那里得到的回应:

“关于您对App Engine不遵守手动设置的端口号和上下文路径的担忧,这是因为它应该在yaml文件中设置

要将端口设置为7777,应通过端口转发完成。但是,端口转发仅在App Engine Flex中可用。有关详细信息,您可以访问此页面[1]

对于上下文路径,您可以使用标记并包含在appengine-web.xml文件中。这将设置应用程序中包含静态文件的路径。有关详细信息,您可以查看此文档[2]

您还可以将标记包含在appengine-web.xml中,因为它对于提供静态内容(如图像、CSS样式表或JavaScript文件)也很有用。您可以使用此参考[3]

使用此解决方案或解决方案,还可以解决spring引导应用程序可以部署在AppEngine中的问题

如果您还有其他问题,请告诉我

谢谢你,祝你今天愉快

[1] [2] [3] "

但是,将设置为某个值并没有将其作为上下文路径。所以不得不不幸地放弃了GAE。在这上面浪费了这么多时间-希望这对其他正在努力解决这一问题的人有用