如何在JAVA中的AWS Lambda處理程序中請求使用的HTTP方法?有一個參數'context'
,但看過之後,我無法請求使用的HTTP方法。如何在java中的AWS lambda處理程序中請求http方法?
HTTP的方法是:GET,POST,PUT
BTW:這裏是JavaScript的答案:How to get the HTTP method in AWS Lambda?
最好的問候, 拉爾斯
如何在JAVA中的AWS Lambda處理程序中請求使用的HTTP方法?有一個參數'context'
,但看過之後,我無法請求使用的HTTP方法。如何在java中的AWS lambda處理程序中請求http方法?
HTTP的方法是:GET,POST,PUT
BTW:這裏是JavaScript的答案:How to get the HTTP method in AWS Lambda?
最好的問候, 拉爾斯
你有你如何能接受幾個選項Java中的httpMethod
。一個最簡單的將是在API網關您的合併請求重命名'http-method'
到'httpMethod'
,然後使用RequestHandler接口爲您的拉姆達的處理程序,這將直接封你的JSON Java對象:
package example;
import com.amazonaws.services.lambda.runtime.RequestHandler;
import com.amazonaws.services.lambda.runtime.Context;
public class Hello implements RequestHandler<PojoRequest, PojoResponse> {
public PojoResponse handleRequest(PojoRequest request, Context context) {
System.out.println(String.format("HTTP method is %s.", request.getHttpMethod()));
return new PojoResponse();
}
}
然後您可以創建無論POJO的你想成爲的要求,例如:
package example;
public class PojoRequest {
private String firstName;
private String lastName;
private String httpMethod;
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 String getHttpMethod() {
return httpMethod;
}
public void setHttpMethod(String httpMethod) {
this.httpMethod = httpMethod;
}
}
參見:http://docs.aws.amazon.com/lambda/latest/dg/java-handler-using-predefined-interfaces.html
感謝戴夫爲此解決方法。但是我不會在我的實體對象中使用http信息。沒有其他選擇嗎? –
這個答案對JavaScript將很好的工作爲Java。您必須將HTTP方法映射到API網關映射模板中的上下文字段,如該答案中所述。 –
感謝你的標記!我映射了'http-method'上下文字段。但是我怎樣才能從java訪問這些信息呢?在JavaScript中,它沒有問題擴展對象,如其他stackoverflow帖子中所述。 –
我在AWS Lambda中沒有真正使用Java,但看起來您必須將API網關映射模板中的任何自定義屬性映射到事件對象,因爲您無法擴展Java中的Context對象。 –