-
Notifications
You must be signed in to change notification settings - Fork 2.8k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
move appengine v1 sample here (#860)
* move appengine v1 sample here * fix readme * fix the right README
- Loading branch information
Showing
12 changed files
with
583 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,57 @@ | ||
endpoints-skeleton | ||
================== | ||
|
||
# DEPRECATED | ||
|
||
### This sample uses endpoints v1 the preferred strategy for new development is to use Endpoints v2 | ||
|
||
A skeleton application for Google Cloud Endpoints in Java. | ||
|
||
- [App Engine][1] | ||
|
||
- [Java][2] | ||
|
||
- [Google Cloud Endpoints][3] | ||
- [Google App Engine Maven plugin][4] | ||
|
||
|
||
1. Update the value of `application` in `appengine-web.xml` to the app | ||
ID you have registered in the App Engine admin console and would | ||
like to use to host your instance of this sample. | ||
|
||
1. Add your API method to `src/main/java/com/example/helloworld/YourFirstAPI.java`. | ||
|
||
1. Optional step: These sub steps are not required but you need this | ||
if you want to have auth protected methods. | ||
|
||
1. Update the values in `src/main/java/com/example/helloworld/Constants.java` | ||
to reflect the respective client IDs you have registered in the | ||
[APIs Console][6]. | ||
|
||
1. You also need to supply the web client ID you have registered | ||
in the [APIs Console][4] to your client of choice (web, Android, | ||
iOS). | ||
|
||
1. Run the application with `mvn appengine:devserver`, and ensure it's | ||
running by visiting your local server's api explorer's address (by | ||
default [localhost:8080/_ah/api/explorer][5].) | ||
|
||
1. Get the client library with | ||
|
||
$ mvn appengine:endpoints_get_client_lib | ||
|
||
It will generate a client library jar file under the | ||
`target/endpoints-client-libs/<api-name>/target` directory of your | ||
project, as well as install the artifact into your local maven | ||
repository. | ||
|
||
1. Deploy your application to Google App Engine with | ||
|
||
$ mvn appengine:update | ||
|
||
[1]: https://developers.google.com/appengine | ||
[2]: http://java.com/en/ | ||
[3]: https://developers.google.com/appengine/docs/java/endpoints/ | ||
[4]: https://developers.google.com/appengine/docs/java/tools/maven | ||
[5]: https://localhost:8080/_ah/api/explorer | ||
[6]: https://console.developers.google.com/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,160 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<!-- | ||
Copyright 2016 Google Inc. All Rights Reserved. | ||
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except | ||
in compliance with the License. You may obtain a copy of the License at | ||
http://www.apache.org/licenses/LICENSE-2.0 | ||
Unless required by applicable law or agreed to in writing, software distributed under the License | ||
is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express | ||
or implied. See the License for the specific language governing permissions and limitations under | ||
the License. | ||
--> | ||
<project> | ||
|
||
<modelVersion>4.0.0</modelVersion> | ||
<packaging>war</packaging> | ||
<version>1.0-SNAPSHOT</version> | ||
|
||
<groupId>com.example.helloworld</groupId> | ||
<artifactId>helloworld</artifactId> | ||
|
||
<parent> | ||
<groupId>com.google.cloud</groupId> | ||
<artifactId>appengine-doc-samples</artifactId> | ||
<version>1.0.0</version> | ||
<relativePath>..</relativePath> | ||
</parent> | ||
|
||
<properties> | ||
<appengine.app.version>1</appengine.app.version> | ||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> | ||
|
||
<appengine.plugin.version>1.9.56</appengine.plugin.version> | ||
<maven.compiler.source>1.7</maven.compiler.source> | ||
<maven.compiler.target>1.7</maven.compiler.target> | ||
</properties> | ||
|
||
<prerequisites> | ||
<maven>3.1.0</maven> | ||
</prerequisites> | ||
|
||
<dependencies> | ||
<!-- Compile/runtime dependencies --> | ||
<dependency> | ||
<groupId>com.google.appengine</groupId> | ||
<artifactId>appengine-api-1.0-sdk</artifactId> | ||
<version>${appengine.plugin.version}</version> | ||
</dependency> | ||
<dependency> | ||
<groupId>com.google.appengine</groupId> | ||
<artifactId>appengine-endpoints</artifactId> | ||
<version>${appengine.plugin.version}</version> | ||
</dependency> | ||
<dependency> | ||
<groupId>javax.servlet</groupId> | ||
<artifactId>servlet-api</artifactId> | ||
<version>2.5</version> | ||
<scope>provided</scope> | ||
</dependency> | ||
<dependency> | ||
<groupId>javax.inject</groupId> | ||
<artifactId>javax.inject</artifactId> | ||
<version>1</version> | ||
</dependency> | ||
|
||
<!-- Test Dependencies --> | ||
<dependency> | ||
<groupId>junit</groupId> | ||
<artifactId>junit</artifactId> | ||
<version>4.11</version> | ||
<scope>test</scope> | ||
</dependency> | ||
<dependency> | ||
<groupId>org.mockito</groupId> | ||
<artifactId>mockito-all</artifactId> | ||
<version>1.9.5</version> | ||
<scope>test</scope> | ||
</dependency> | ||
<dependency> | ||
<groupId>com.google.appengine</groupId> | ||
<artifactId>appengine-testing</artifactId> | ||
<version>${appengine.plugin.version}</version> | ||
<scope>test</scope> | ||
</dependency> | ||
<dependency> | ||
<groupId>com.google.appengine</groupId> | ||
<artifactId>appengine-api-stubs</artifactId> | ||
<version>${appengine.plugin.version}</version> | ||
<scope>test</scope> | ||
</dependency> | ||
</dependencies> | ||
|
||
<build> | ||
<!-- for hot reload of the web application--> | ||
<outputDirectory>${project.build.directory}/${project.build.finalName}/WEB-INF/classes</outputDirectory> | ||
<plugins> | ||
<plugin> | ||
<groupId>org.codehaus.mojo</groupId> | ||
<artifactId>versions-maven-plugin</artifactId> | ||
<version>2.2</version> | ||
<executions> | ||
<execution> | ||
<phase>compile</phase> | ||
<goals> | ||
<goal>display-dependency-updates</goal> | ||
<goal>display-plugin-updates</goal> | ||
</goals> | ||
</execution> | ||
</executions> | ||
</plugin> | ||
|
||
<plugin> | ||
<groupId>org.apache.maven.plugins</groupId> | ||
<artifactId>maven-war-plugin</artifactId> | ||
<version>2.6</version> | ||
<configuration> | ||
<webXml>${project.build.directory}/generated-sources/appengine-endpoints/WEB-INF/web.xml</webXml> | ||
<webResources> | ||
<resource> | ||
<!-- this is relative to the pom.xml directory --> | ||
<directory>${project.build.directory}/generated-sources/appengine-endpoints</directory> | ||
<!-- the list has a default value of ** --> | ||
<includes> | ||
<include>WEB-INF/*.discovery</include> | ||
<include>WEB-INF/*.api</include> | ||
</includes> | ||
</resource> | ||
</webResources> | ||
</configuration> | ||
</plugin> | ||
|
||
<plugin> | ||
<groupId>com.google.appengine</groupId> | ||
<artifactId>appengine-maven-plugin</artifactId> | ||
<version>${appengine.plugin.version}</version> | ||
<configuration> | ||
<enableJarClasses>false</enableJarClasses> | ||
<!-- Comment in the below snippet to bind to all IPs instead of just localhost --> | ||
<!-- address>0.0.0.0</address> | ||
<port>8080</port --> | ||
<!-- Comment in the below snippet to enable local debugging with a remove debugger | ||
like those included with Eclipse or IntelliJ --> | ||
<!-- jvmFlags> | ||
<jvmFlag>-agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n</jvmFlag> | ||
</jvmFlags --> | ||
</configuration> | ||
<executions> | ||
<execution> | ||
<goals> | ||
<goal>endpoints_get_discovery_doc</goal> | ||
</goals> | ||
</execution> | ||
</executions> | ||
</plugin> | ||
</plugins> | ||
</build> | ||
|
||
</project> |
37 changes: 37 additions & 0 deletions
37
appengine/endpoints-v1-helloworld/src/main/java/com/example/helloworld/Bar.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
/* | ||
* Copyright 2016 Google Inc. All Rights Reserved. | ||
* | ||
* Licensed under the Apache License, Version 2.0 (the "License"); | ||
* you may not use this file except in compliance with the License. | ||
* You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 | ||
* | ||
* Unless required by applicable law or agreed to in writing, software | ||
* distributed under the License is distributed on an "AS IS" BASIS, | ||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
* See the License for the specific language governing permissions and | ||
* limitations under the License. | ||
*/ | ||
package com.example.helloworld; | ||
|
||
import com.google.api.server.spi.config.ApiTransformer; | ||
|
||
// [START all] | ||
@ApiTransformer(BarTransformer.class) | ||
public class Bar { | ||
private final int x; | ||
private final int y; | ||
|
||
public Bar(int x, int y) { | ||
this.x = x; | ||
this.y = y; | ||
} | ||
|
||
public int getX() { | ||
return x; | ||
} | ||
|
||
public int getY() { | ||
return y; | ||
} | ||
} | ||
// [END all] |
29 changes: 29 additions & 0 deletions
29
appengine/endpoints-v1-helloworld/src/main/java/com/example/helloworld/BarTransformer.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
/* | ||
* Copyright 2016 Google Inc. All Rights Reserved. | ||
* | ||
* Licensed under the Apache License, Version 2.0 (the "License"); | ||
* you may not use this file except in compliance with the License. | ||
* You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 | ||
* | ||
* Unless required by applicable law or agreed to in writing, software | ||
* distributed under the License is distributed on an "AS IS" BASIS, | ||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
* See the License for the specific language governing permissions and | ||
* limitations under the License. | ||
*/ | ||
package com.example.helloworld; | ||
|
||
import com.google.api.server.spi.config.Transformer; | ||
|
||
// [START all] | ||
public class BarTransformer implements Transformer<Bar, String> { | ||
public String transformTo(Bar in) { | ||
return in.getX() + "," + in.getY(); | ||
} | ||
|
||
public Bar transformFrom(String in) { | ||
String[] xy = in.split(","); | ||
return new Bar(Integer.parseInt(xy[0]), Integer.parseInt(xy[1])); | ||
} | ||
} | ||
// [END all] |
31 changes: 31 additions & 0 deletions
31
appengine/endpoints-v1-helloworld/src/main/java/com/example/helloworld/Constants.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
/** | ||
* Copyright 2016 Google Inc. All Rights Reserved. | ||
* | ||
* Licensed under the Apache License, Version 2.0 (the "License"); | ||
* you may not use this file except in compliance with the License. | ||
* You may obtain a copy of the License at | ||
* | ||
* http://www.apache.org/licenses/LICENSE-2.0 | ||
* | ||
* Unless required by applicable law or agreed to in writing, software | ||
* distributed under the License is distributed on an "AS IS" BASIS, | ||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
* See the License for the specific language governing permissions and | ||
* limitations under the License. | ||
*/ | ||
|
||
package com.example.helloworld; | ||
|
||
// [START all] | ||
/** | ||
* Contains the client IDs and scopes for allowed clients consuming your API. | ||
*/ | ||
public class Constants { | ||
public static final String WEB_CLIENT_ID = "replace this with your web client ID"; | ||
public static final String ANDROID_CLIENT_ID = "replace this with your Android client ID"; | ||
public static final String IOS_CLIENT_ID = "replace this with your iOS client ID"; | ||
public static final String ANDROID_AUDIENCE = WEB_CLIENT_ID; | ||
|
||
public static final String EMAIL_SCOPE = "https://www.googleapis.com/auth/userinfo.email"; | ||
} | ||
// [END all] |
31 changes: 31 additions & 0 deletions
31
appengine/endpoints-v1-helloworld/src/main/java/com/example/helloworld/MyBean.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
/** | ||
* Copyright 2016 Google Inc. All Rights Reserved. | ||
* | ||
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except | ||
* in compliance with the License. You may obtain a copy of the License at | ||
* | ||
* http://www.apache.org/licenses/LICENSE-2.0 | ||
* | ||
* Unless required by applicable law or agreed to in writing, software distributed under the License | ||
* is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express | ||
* or implied. See the License for the specific language governing permissions and limitations under | ||
* the License. | ||
*/ | ||
package com.example.helloworld; | ||
|
||
//[START all] | ||
|
||
/** The object model for the data we are sending through endpoints */ | ||
public class MyBean { | ||
|
||
private String myData; | ||
|
||
public String getData() { | ||
return myData; | ||
} | ||
|
||
public void setData(String data) { | ||
myData = data; | ||
} | ||
} | ||
//[END all] |
25 changes: 25 additions & 0 deletions
25
...endpoints-v1-helloworld/src/main/java/com/example/helloworld/RequestTimeoutException.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
/* | ||
* Copyright 2016 Google Inc. All Rights Reserved. | ||
* | ||
* Licensed under the Apache License, Version 2.0 (the "License"); | ||
* you may not use this file except in compliance with the License. | ||
* You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 | ||
* | ||
* Unless required by applicable law or agreed to in writing, software | ||
* distributed under the License is distributed on an "AS IS" BASIS, | ||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
* See the License for the specific language governing permissions and | ||
* limitations under the License. | ||
*/ | ||
package com.example.helloworld; | ||
|
||
// [START all] | ||
import com.google.api.server.spi.ServiceException; | ||
|
||
// Exceptions must inherit from ServiceException | ||
public class RequestTimeoutException extends ServiceException { | ||
public RequestTimeoutException(String message) { | ||
super(408, message); | ||
} | ||
} | ||
// [END all] |
Oops, something went wrong.