Configuración y archivos necesarios

En esta página, se describen los archivos que se deben incluir en la API con el fin de usar Cloud Endpoints Frameworks para App Engine.

Tu proyecto debe contener, como mínimo, los archivos siguientes:

Archivo y ubicación Descripción
/src/main/java/<packagepath>/<your_api_class>.java El archivo de clase (o archivos, si implementas tu API en varias clases) que contiene tu API de backend.
/src/main/webapp/WEB-INF/appengine-web.xml El descriptor de implementación para aplicaciones web necesario para la configuración de App Engine.
/src/main/webapp/WEB-INF/web.xml El descriptor de implementación estándar para aplicaciones web Java que asigna las URL a los servlets además de asignar información adicional.

El contenido de cada uno de los archivos necesarios se documenta en las siguientes secciones.

El archivo de clase de API

El contenido obligatorio y opcional del archivo de clase (o archivos, si usas una API multiclase) se describen en su totalidad en el tema Anotaciones de Endpoint.

appengine-web.xml

El archivo appengine-web.xml se usa para definir la configuración del entorno estándar de App Engine cuando se implementa la API. Consulta la referencia de appengine-web.xml para obtener más información.

El contenido mínimo indispensable necesario para este archivo es el siguiente:

<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

Puedes usar el archivo web.xml para configurar el servlet de Endpoints, que controla las solicitudes entrantes y las reenvía al servicio de backend que se ejecuta en App Engine. Para que Cloud Endpoints pueda administrar tu API, se necesita el servlet de Endpoints.

El contenido mínimo indispensable necesario para este archivo es el siguiente:

<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 obtener más información sobre web.xml, consulta El descriptor de implementación: web.xml.