如何在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对象。 –