Ficheiros e configuração necessários

Esta página descreve os ficheiros que têm de ser incluídos na API para usar os frameworks do Cloud Endpoints para o App Engine.

O seu projeto tem de conter, no mínimo, os seguintes ficheiros:

Ficheiro e localização Descrição
/src/main/java/<packagepath>/<your_api_class>.java O ficheiro de classe (ou ficheiros, se implementar a sua API em várias classes) que contém a API de back-end.
/src/main/webapp/WEB-INF/appengine-web.xml O descritor de implementação da app Web necessário para a configuração do App Engine.
/src/main/webapp/WEB-INF/web.xml O descritor de implementação da app Web Java padrão mapeia URLs para servlets e outras informações.

O conteúdo de cada um destes ficheiros obrigatórios está documentado nas secções seguintes.

O ficheiro de classe da API

Os conteúdos obrigatórios e opcionais do ficheiro de classe (ou ficheiros, se usar uma API de várias classes) são descritos na íntegra no tópico Anotações de pontos finais.

appengine-web.xml

O ficheiro appengine-web.xml é usado para definir a configuração do ambiente padrão do App Engine quando a API é implementada. Consulte a referência appengine-web.xml para mais informações.

Os conteúdos mínimos necessários para este ficheiro são os seguintes:

<appengine-web-app xmlns="http://appengine.google.com/ns/1.0">
    <runtime>java8</runtime>
    <threadsafe>true</threadsafe>

    <system-properties>
        <property name="java.util.logging.config.file" value="WEB-INF/logging.properties"/>
    </system-properties>
</appengine-web-app>

web.xml

Usa o ficheiro web.xml para configurar o servlet Endpoints, que processa pedidos recebidos e encaminha-os para o serviço de back-end em execução no App Engine. O servlet Endpoints é necessário para que a sua API seja gerida pelo Cloud Endpoints.

Os conteúdos mínimos necessários para este ficheiro são os seguintes:

<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
         http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
         version="3.1">
    <!-- Wrap the backend with Endpoints Frameworks v2. -->
    <servlet>
        <servlet-name>EndpointsServlet</servlet-name>
        <servlet-class>com.google.api.server.spi.EndpointsServlet</servlet-class>
        <init-param>
            <param-name>services</param-name>
            <param-value>com.example.skeleton.MyApi</param-value>
        </init-param>
    </servlet>
    <!-- Route API method requests to the backend. -->
    <servlet-mapping>
        <servlet-name>EndpointsServlet</servlet-name>
        <url-pattern>/_ah/api/*</url-pattern>
    </servlet-mapping>
</web-app>

Para mais informações sobre web.xml, consulte O descritor de implementação: web.xml.