无法将其他API端点类添加到GCP端点v2
问题描述:
我已经使用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框架不支持此功能,因为它似乎是一种很好的设计方法来完成这种分离。
答
你应该使用相同的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/*
。