File e configurazione richiesti

In questa pagina vengono descritti i file che devono essere inclusi nell'API per utilizzare Cloud Endpoints Frameworks per App Engine.

Il progetto deve contenere almeno i seguenti file:

File e posizione Descrizione
/src/main/java/<packagepath>/<your_api_class>.java Il file della classe (o i file, se implementi l'API in più classi) contenenti l'API di backend.
/src/main/webapp/WEB-INF/appengine-web.xml Il descrittore di deployment dell'app web richiesto per la configurazione di App Engine.
/src/main/webapp/WEB-INF/web.xml Il descrittore standard di deployment delle app web Java che mappa gli URL ai servlet e altre informazioni.

Il contenuto di ciascuno di questi file obbligatori è documentato nelle sezioni seguenti.

Il file di classe dell'API

I contenuti obbligatori e facoltativi del file del corso (o dei file, se utilizzi un'API multiclasse) sono descritti in modo completo nell'argomento Annotazioni degli endpoint.

appengine-web.xml

Il file appengine-web.xml viene utilizzato per definire la configurazione dell'ambiente standard di App Engine quando viene eseguito il deployment dell'API. Per ulteriori informazioni, consulta la documentazione di riferimento di appengine-web.xml.

I contenuti minimi necessari per questo file sono i seguenti:

<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

Puoi utilizzare il file web.xml per configurare il servlet di Endpoints, che gestisce le richieste in entrata e le inoltra al servizio di backend in esecuzione in App Engine. Il servlet di Endpoints è necessario per far sì che l'API venga gestita da Cloud Endpoints.

I contenuti minimi necessari per questo file sono i seguenti:

<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>

Per maggiori informazioni su web.xml, consulta Il descrittore del deployment: web.xml.