0

我已经使用Google提供的启动器代码启动了Google云端点v2项目,该代码公开了一个名为“echo”的API。无法将其他API端点类添加到GCP端点v2

我的目标是添加另一个暴露的类(每个业务模块一个类/ api名称)。 部署完成后,对新API的所有调用都不会生成“未找到”错误。

作为一个解决方案,我试图查看web.xml并做了以下更改。

初始WEB.XML版本:

<!-- Route API method requests to the backend. --> 
<servlet-mapping> 
    <servlet-name>EndpointsServlet</servlet-name> 
    <url-pattern>/_ah/api/*</url-pattern> 
</servlet-mapping> 

我已经加了我新的servlet和尝试添加如下新的servlet映射:添加/回声/ *后

<servlet-mapping> 
    <servlet-name>EndpointsServlet</servlet-name> 
    <url-pattern>/_ah/api/echo/*</url-pattern> 
</servlet-mapping> 

<servlet-mapping> 
    <servlet-name>UserEndpointsServlet</servlet-name> 
    <url-pattern>/_ah/api/user/*</url-pattern> 
</servlet-mapping> 

现在初始servlet映射,ECHO工作服务停止服务,并且系统仍然无法调用新服务。

有没有人知道我在做什么错,什么是解决方案? 我不认为端点v2框架不支持此功能,因为它似乎是一种很好的设计方法来完成这种分离。

回答

0

你应该使用相同的servlet,使用一个init-PARAM所有你需要的端点类:

<init-param> 
     <param-name>services</param-name> 
     <param-value>com.example.echo.Echo,com.example.echo.Echo2</param-value> 
    </init-param> 

在web.xml,则不应使用/_ah/api/echo/*/_ah/api/user/*。相反,请使用@Api(name = "echo")@Api(name = "user")并将EndpointsServlet绑定到/_ah/api/*