diff --git a/.gitignore b/.gitignore index d99a1b1..3622173 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,6 @@ +java-fc-sample.iml +target/ +.idea/ # ---> Java # Compiled class file *.class diff --git a/README.md b/README.md index 4fc930c..5f13c58 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,3 @@ # aliyun-java-fc-sample +Official documents: https://help.aliyun.com/document_detail/113519.html diff --git a/build.json b/build.json new file mode 100644 index 0000000..55e28df --- /dev/null +++ b/build.json @@ -0,0 +1,12 @@ +{ + "java": "1.8", + "builder": { + "name": "maven", + "version": "3.5.2" + }, + "repo": { + "dependencies": [ + "me.hatter:commons:3.40" + ] + } +} \ No newline at end of file diff --git a/justfile b/justfile new file mode 100644 index 0000000..ee40a66 --- /dev/null +++ b/justfile @@ -0,0 +1,7 @@ +_: + @just --list + +build: + buildj package + + diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..8db191d --- /dev/null +++ b/pom.xml @@ -0,0 +1,60 @@ + + 4.0.0 + me.hatter.sample + java-fc-sample + jar + 1.0-SNAPSHOT + java-fc-sample + + + + com.aliyun.fc.runtime + fc-java-core + 1.3.0 + + + com.aliyun.oss + aliyun-sdk-oss + 2.6.1 + + + + + 1.8 + 1.8 + true + + + + + maven-assembly-plugin + 3.1.0 + + + jar-with-dependencies + + false + + + + make-assembly + package + + single + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.8.1 + + 1.8 + 1.8 + + + + + diff --git a/src/main/java/me/hatter/example/HelloFC.java b/src/main/java/me/hatter/example/HelloFC.java new file mode 100644 index 0000000..a47659f --- /dev/null +++ b/src/main/java/me/hatter/example/HelloFC.java @@ -0,0 +1,17 @@ +package me.hatter.example; + +import com.aliyun.fc.runtime.Context; +import com.aliyun.fc.runtime.PojoRequestHandler; + +import java.util.Date; + +public class HelloFC implements PojoRequestHandler { + + @Override + public HelloResponseObject handleRequest(HelloRequestObject helloRequestObject, Context context) { + HelloResponseObject helloResponseObject = new HelloResponseObject(); + helloResponseObject.setTime(new Date()); + helloResponseObject.setMessage("Hello: " + helloRequestObject.getMessage()); + return helloResponseObject; + } +} diff --git a/src/main/java/me/hatter/example/HelloHttp.java b/src/main/java/me/hatter/example/HelloHttp.java new file mode 100644 index 0000000..050a6ca --- /dev/null +++ b/src/main/java/me/hatter/example/HelloHttp.java @@ -0,0 +1,29 @@ +package me.hatter.example; + +import com.aliyun.fc.runtime.Context; +import com.aliyun.fc.runtime.HttpRequestHandler; + +import javax.servlet.ServletException; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.io.OutputStream; + +public class HelloHttp implements HttpRequestHandler { + @Override + public void handleRequest(HttpServletRequest request, HttpServletResponse response, Context context) throws IOException, ServletException { + String requestPath = (String) request.getAttribute("FC_REQUEST_PATH"); + String requestURI = (String) request.getAttribute("FC_REQUEST_URI"); + String requestClientIP = (String) request.getAttribute("FC_REQUEST_CLIENT_IP"); + + response.setStatus(200); + response.setHeader("header1", "value1"); + response.setHeader("header2", "value2"); + + String body = String.format("Path: %s\n Uri: %s\n IP: %s\n", requestPath, requestURI, requestClientIP); + OutputStream out = response.getOutputStream(); + out.write((body).getBytes()); + out.flush(); + out.close(); + } +} diff --git a/src/main/java/me/hatter/example/HelloRequestObject.java b/src/main/java/me/hatter/example/HelloRequestObject.java new file mode 100644 index 0000000..cd11e86 --- /dev/null +++ b/src/main/java/me/hatter/example/HelloRequestObject.java @@ -0,0 +1,13 @@ +package me.hatter.example; + +public class HelloRequestObject { + private String message; + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } +} diff --git a/src/main/java/me/hatter/example/HelloResponseObject.java b/src/main/java/me/hatter/example/HelloResponseObject.java new file mode 100644 index 0000000..8ecf286 --- /dev/null +++ b/src/main/java/me/hatter/example/HelloResponseObject.java @@ -0,0 +1,24 @@ +package me.hatter.example; + +import java.util.Date; + +public class HelloResponseObject { + private Date time; + private String message; + + public Date getTime() { + return time; + } + + public void setTime(Date time) { + this.time = time; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } +}