我们的appengine应用程序包含多个部署在标准和灵活环境中的微服务。由于我们同时使用flex和standard,因此我们选择了jerse来实现我们的后端服务,因为端点框架不适用于flex。我们无法将Jersey + Appengine Standard + Endpoint的这种组合工作。当我们使用gcloud云管理器部署swagger时,它不会与后端服务链接。
我找不到任何关于如何在不使用端点框架注释的情况下集成App引擎标准和端点的文档。
是否有人使用该组合实现了其余服务后端 泽西+应用程序引擎标准+云端点。是否可以在不使用端点框架注释的情况下集成云端点和appengine标准。
请注意:我们测试了Jersey + Flex + Endpoints并且它可以正常工作。
答案 0 :(得分:0)
这未经过测试或记录,因此您正在玩新区域。它应该工作,我很乐意尝试帮助您调试它。要在Standard with Flex上使用Endpoints,您必须这样做:
包含此依赖关系:
<dependency>
<groupId>com.google.endpoints</groupId>
<artifactId>endpoints-management-control-appengine-all</artifactId>
<version>${endpoints.management.version}</version>
</dependency>
将此配置添加到web.xml
,然后在球衣前添加filter-mapping
:
<filter>
<filter-name>endpoints-api-controller</filter-name>
<filter-class>com.google.api.control.extensions.appengine.GoogleAppEngineControlFilter</filter-class>
<init-param>
<param-name>endpoints.projectId</param-name>
<param-value>${endpoints.project.id}</param-value>
</init-param>
<init-param>
<param-name>endpoints.serviceName</param-name>
<param-value>echo-api.endpoints.${endpoints.project.id}.cloud.goog</param-value>
</init-param>
</filter>
gcloud service-management deploy
上传您的OpenAPI规范。在appengine-web.xml
中,添加一个环境变量定义:
<env-variables>
<env-var name="ENDPOINTS_SERVICE_NAME" value="echo-api.endpoints.${endpoints.project.id}.cloud.goog" />
</env-variables>