dpebot and dzlier-gcp Auto-update dependencies. (#1178)
* Auto-update dependencies.

* Fix dpebot dependency failures. (#1260)
Latest commit 34e7ecc Nov 15, 2018

README.md

App Engine Standard & Google Cloud Endpoints Frameworks & Java

This sample demonstrates how to use Google Cloud Endpoints Frameworks using Java on App Engine Standard.

Open in Cloud Shell

Build with Maven

Adding the project ID to the sample API code

You must add the project ID obtained when you created your project to the sample's pom.xml before you can deploy the code.

To add the project ID:

  1. Edit the file pom.xml.

  2. For <endpoints.project.id>, replace the value YOUR_PROJECT_ID with your project ID.

  3. Edit the file src/main/java/com/example/echo/Echo.java.

  4. Replace the value YOUR-PROJECT-ID with your project ID.

  5. Save your changes.

Building the sample project

To build the project:

mvn clean package

Generating the openapi.json file

To generate the required configuration file openapi.json:

mvn endpoints-framework:openApiDocs

Deploying the sample API to App Engine

To deploy the sample API:

  1. Invoke the gcloud command to deploy the API configuration file:

      gcloud endpoints services deploy target/openapi-docs/openapi.json
    
  2. Deploy the API implementation code by invoking:

      mvn appengine:deploy
    

    The first time you upload a sample app, you may be prompted to authorize the deployment. Follow the prompts: when you are presented with a browser window containing a code, copy it to the terminal window.

  3. Wait for the upload to finish.

Sending a request to the sample API

After you deploy the API and its configuration file, you can send requests to the API.

To send a request to the API, from a command line, invoke the following cURL command:

 curl \
     -H "Content-Type: application/json" \
     -X POST \
     -d '{"message":"echo"}' \
     https://$PROJECT_ID.appspot.com/_ah/api/echo/v1/echo

You will get a 200 response with the following data:

{
 "message": "echo"
}

Build with gradle

Adding the project ID to the sample API code

  1. Edit the file build.gradle.

  2. For def projectId = 'YOUR_PROJECT_ID', replace the value YOUR_PROJECT_ID with your project ID.

  3. Edit the file `src/main/java/com/example/echo/Echo.java

  4. Replace the value YOUR-PROJECT-ID with your project ID.

  5. Save your changes.

Building the sample project

To build the project on unix-based systems:

./gradlew build

Windows users: Use gradlew.bat instead of ./gradlew

more details The project contains the standard java and war plugins and in addition to that it contains the following plugins: https://github.com/GoogleCloudPlatform/endpoints-framework-gradle-plugin for the endpoint related tasks and https://github.com/GoogleCloudPlatform/app-gradle-plugin for the appengine standard related tasks.

Check the links for details about the available Plugin Goals and Parameters.

Generating the openapi.json file

To generate the required configuration file openapi.json:

./gradlew endpointsOpenApiDocs

This results in a file in build/endpointsOpenApiDocs/openapi.json

Deploying the sample API to App Engine

To deploy the sample API:

  1. Invoke the gcloud command to deploy the API configuration file:

      gcloud endpoints services deploy build/endpointsOpenApiDocs/openapi.json
    
  2. Deploy the API implementation code by invoking:

      ./gradlew appengineDeploy
    

    The first time you upload a sample app, you may be prompted to authorize the deployment. Follow the prompts: when you are presented with a browser window containing a code, copy it to the terminal window.

    ERROR: (gcloud.app.deploy) The current Google Cloud project [...] does not contain an App Engine application. If you create a fresh cloud project that doesn't contain a appengine application you may receive this Error:

    ERROR: (gcloud.app.deploy) The current Google Cloud project [...] does not contain an App Engine application. Use gcloud app create to initialize an App Engine application within the project.

    In that case just execute gcloud app create, you will be asked to select a region and the app will be created. Then run gradle appengineDeploy again.

  3. Wait for the upload to finish.

Sending a request to the sample API

After you deploy the API and its configuration file, you can send requests to the API.

To send a request to the API, from a command line, invoke the following cURL command:

 curl \
     -H "Content-Type: application/json" \
     -X POST \
     -d '{"message":"echo"}' \
     https://$PROJECT_ID.appspot.com/_ah/api/echo/v1/echo

You will get a 200 response with the following data:

{
 "message": "echo"
}