IllegalStateException: для функции Spring Cloud не определена функция - PullRequest
0 голосов
/ 13 июля 2020

Я определил функцию в своем проекте Spring Cloud Function, но после выполнения функции (ScanQrCode) в качестве AS Lambda я получаю:

2020-07-13 10:19:04.592  INFO 1 --- [           main] lambdainternal.LambdaRTEntry             : Started LambdaRTEntry in 26.357 seconds (JVM running for 27.777)
2020-07-13 10:19:04.653  INFO 1 --- [           main] o.s.c.f.c.c.SimpleFunctionRegistry       : Looking up function 'function' with acceptedOutputTypes: []
2020-07-13 10:19:04.731  INFO 1 --- [           main] o.s.c.f.c.c.SimpleFunctionRegistry       : Looking up function 'consumer' with acceptedOutputTypes: []
2020-07-13 10:19:04.734  INFO 1 --- [           main] o.s.c.f.c.c.SimpleFunctionRegistry       : Looking up function 'supplier' with acceptedOutputTypes: []
2020-07-13 10:19:04.754  INFO 1 --- [           main] o.s.c.f.c.c.SimpleFunctionRegistry       : Looking up function '' with acceptedOutputTypes: []
2020-07-13 10:19:04.811  INFO 1 --- [           main] o.s.c.f.c.c.SimpleFunctionRegistry       : Looking up function '' with acceptedOutputTypes: []
2020-07-13 10:19:04.811  INFO 1 --- [           main] o.s.c.f.c.c.SimpleFunctionRegistry       : Looking up function '' with acceptedOutputTypes: []
No function defined: java.lang.IllegalStateException
java.lang.IllegalStateException: No function defined
    at org.springframework.cloud.function.context.AbstractSpringFunctionAdapterInitializer.apply(AbstractSpringFunctionAdapterInitializer.java:187)
    at org.springframework.cloud.function.adapter.aws.SpringBootRequestHandler.handleRequest(SpringBootRequestHandler.java:51)

Утомительно то, что я закомментировал consume, supplier и function функции ... Я не знаю, почему Spring или AWS Lambda считали их ...

Вот мои классы:

Приложение Spring Boot

@SpringBootApplication
public class FoodhatQrApplication {

    public static void main(String[] args) {
        SpringApplication.run(FoodhatQrApplication.class, args);
    }
        
//  @Bean
//  public Function<String, String> function(){
//      return input -> input;
//  }
//  
//  @Bean
//  public Consumer<String> consume(){
//      return input -> System.out.println("Input: " + input);
//  }
//
//  @Bean
//  public Supplier<String> supply(){
//      return () -> "Hello World";
//  }

}

Функциональный класс

@Component
    public class ScanQrCode implements Function<APIGatewayProxyRequestEvent, APIGatewayProxyResponseEvent>{
    
        @Autowired
        private QrCodeRepository qrCodeRepository;
    
        @Override
        public APIGatewayProxyResponseEvent apply(APIGatewayProxyRequestEvent request) {
              APIGatewayProxyResponseEvent response = new APIGatewayProxyResponseEvent();
              response.setStatusCode(302);
              response.setHeaders(Collections.singletonMap("location" , "http://www.google.de"));
              return response;
    
        }
    
    }

Что мне не хватает?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...