GH-932 Fix registration of AWSTypesMessageConverter for functional spring applications

Resolves #932
This commit is contained in:
Oleg Zhurakousky
2022-11-10 12:13:57 +01:00
parent b33a106c48
commit 13c79f5283
10 changed files with 55 additions and 244 deletions

View File

@@ -8,6 +8,9 @@ import org.springframework.cloud.function.context.FunctionType;
import org.springframework.context.ApplicationContextInitializer;
import org.springframework.context.support.GenericApplicationContext;
import com.amazonaws.services.lambda.runtime.events.APIGatewayProxyRequestEvent;
import com.amazonaws.services.lambda.runtime.events.APIGatewayProxyResponseEvent;
@SpringBootConfiguration
public class FunctionConfiguration implements ApplicationContextInitializer<GenericApplicationContext> {
@@ -26,5 +29,9 @@ public class FunctionConfiguration implements ApplicationContextInitializer<Gene
context.registerBean("uppercase", FunctionRegistration.class,
() -> new FunctionRegistration<>(function).type(
FunctionType.from(String.class).to(String.class)));
context.registerBean("testFunction", FunctionRegistration.class,
() -> new FunctionRegistration<>(new TestFunction()).type(
FunctionType.from(APIGatewayProxyRequestEvent.class).to(APIGatewayProxyResponseEvent.class)));
}
}

View File

@@ -0,0 +1,13 @@
package example;
import java.util.function.Function;
import com.amazonaws.services.lambda.runtime.events.APIGatewayProxyRequestEvent;
import com.amazonaws.services.lambda.runtime.events.APIGatewayProxyResponseEvent;
public class TestFunction implements Function<APIGatewayProxyRequestEvent, APIGatewayProxyResponseEvent> {
@Override
public APIGatewayProxyResponseEvent apply(APIGatewayProxyRequestEvent apiGatewayProxyRequestEvent) {
return new APIGatewayProxyResponseEvent().withStatusCode(200).withBody("ok");
}
}