请求处理程序(Handler) 示例:PojoRequestHandler 一个最简单的PojoRequestHandler示例如下所示: // PojoHandler.java package example; import com.ctg.faas.runtime.Context; import com.ctg.faas.runtime.PojoRequestHandler; import example.model.SimpleRequest; import example.model.SimpleResponse; public class PojoHandler implements PojoRequestHandler { @Override public SimpleResponse handleRequest(SimpleRequest request, Context context) { String message "Hello, I am " + request.getFirstName() + " " + request.getLastName(); return new SimpleResponse(message); } } // SimpleRequest.java package example.model; public class SimpleRequest { String firstName; String lastName; public String getFirstName() { return firstName; } public void setFirstName(String firstName) { this.firstName firstName; } public String getLastName() { return lastName; } public void setLastName(String lastName) { this.lastName lastName; } public SimpleRequest() {} public SimpleRequest(String firstName, String lastName) { this.firstName firstName; this.lastName lastName; } } // SimpleResponse.java package example.model; public class SimpleResponse { String message; public String getMessage() { return message; } public void setMessage(String message) { this.message message; } public SimpleResponse() {} public SimpleResponse(String message) { this.message message; } } 示例:使用HTTP触发器调用HTTP函数 package example; import java.io.IOException; import java.io.OutputStream; import java.util.logging.Logger; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.core.type.TypeReference; import com.ctg.faas.runtime.Context; import com.ctg.faas.runtime.HttpRequestHandler; import example.util.ServletUtil; public class HttpApp implements HttpRequestHandler { private static final Logger logger Logger.getLogger(HttpApp.class.getName()); private static final ObjectMapper objectMapper new ObjectMapper(); @Override public void handleRequest(HttpServletRequest request, HttpServletResponse response, Context context) throws IOException, ServletException { String requestPath (String) request.getAttribute("FCREQUESTPATH"); String requestURI (String) request.getAttribute("FCREQUESTURI"); String requestClientIP (String) request.getAttribute("FCREQUESTCLIENTIP"); response.setStatus(200); response.setHeader("header1", "value1"); response.setHeader("header2", "value2"); response.setHeader("ContentType", "text/plain"); context.getLogger().info("hello"); logger.info("loger hello"); String body ServletUtil.getBodyData(request); // 使用Jackson替代FastJSON java.util.Map jsonMap objectMapper.readValue(body, new TypeReference >() {}); context.getLogger().info("body:" + jsonMap.toString()); String req String.format("Path: %sn Uri: %sn IP: %sn", requestPath, requestURI, requestClientIP); OutputStream out response.getOutputStream(); out.write((req).getBytes()); out.flush(); out.close(); } }