Last active
April 5, 2017 08:26
-
-
Save rayhon1014/9a5b6279995362c6cb702cd950b4bbb4 to your computer and use it in GitHub Desktop.
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
package example; | |
import com.amazonaws.services.lambda.runtime.Context; | |
import com.amazonaws.services.lambda.runtime.LambdaLogger; | |
import com.amazonaws.util.StringUtils; | |
import com.fasterxml.jackson.core.JsonProcessingException; | |
import com.fasterxml.jackson.databind.ObjectMapper; | |
import example.model.ApiGatewayRequest; | |
import example.model.ApiGatewayResponse; | |
import example.model.Article; | |
import java.util.HashMap; | |
import java.util.Map; | |
public class ArticleHandler { | |
public ApiGatewayResponse handleRequest(ApiGatewayRequest request, Context context) { | |
LambdaLogger logger = context.getLogger(); | |
Map<String, String> queryParams = request.getQueryStringParameters(); | |
String body = request.getBody(); | |
logger.log("received query params: " + request.getQueryStringParameters()); | |
logger.log("received body: " + body); | |
// Get "title" from url parameter | |
String title = ""; | |
if (queryParams != null && !StringUtils.isNullOrEmpty(queryParams.get("title"))) { | |
title = request.getQueryStringParameters().get("title"); | |
} | |
// Make article | |
Article article = new Article(); | |
article.setTitle("name: "+title); | |
article.setDescription("body: "+body); | |
// Convert article to json | |
ObjectMapper om = new ObjectMapper(); | |
String responseBodyJson = null; | |
try { | |
responseBodyJson = om.writeValueAsString(article); | |
} catch (JsonProcessingException e) { | |
logger.log("Error: convert article to json failed. Exception - " + e.getMessage()); | |
} | |
// Make response | |
Map<String, String> headers = new HashMap<>(); | |
headers.put("Content-Type", "application/json"); | |
ApiGatewayResponse response = new ApiGatewayResponse(); | |
response.setStatusCode("200"); | |
response.setHeaders(headers); | |
response.setBody(responseBodyJson); | |
return response; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment