GAE中远程API servlet的备用路径?

时间:2012-10-27 07:05:23

标签: java google-app-engine servlets

根据Remote API docs for Java,远程API servlet需要映射到/remote_api URL。

如果我将servlet映射到不同的URL,是否可以在客户端脚本中使用远程API类?我找不到这个javadoc,上面文档中的例子不包括这种情况。

1 个答案:

答案 0 :(得分:1)

要在应用程序中启用Remote API,您需要在web.xml文件中添加以下内容:

<servlet>
    <display-name>Remote API Servlet</display-name>
    <servlet-name>RemoteApiServlet</servlet-name>
    <servlet-class>com.google.apphosting.utils.remoteapi.RemoteApiServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>RemoteApiServlet</servlet-name>
    <url-pattern>/remote_api</url-pattern>
</servlet-mapping>

如您所见,在上面的代码段中,RemoteApiServlet已映射到/remote_api网址。但是,使用此URL不是强制性的。在映射中,您可以使用自己的URL。例如,您可以:

<servlet>
    <display-name>Remote API Servlet</display-name>
    <servlet-name>RemoteApiServlet</servlet-name>
    <servlet-class>com.google.apphosting.utils.remoteapi.RemoteApiServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>RemoteApiServlet</servlet-name>
    <url-pattern>/myurl</url-pattern>
</servlet-mapping>

更新:客户端代码

在客户端中,根据Configuring Remote API on a Standalone Client提供的文档,您可以通过修改RemoteApiOptions来设置自定义路径。例如:

RemoteApiOptions options = new RemoteApiOptions()
    .server("your_app_id.appspot.com", 443)
    .credentials(username, password)
    .remoteApiPath(yourpath);

希望这有帮助!