Я пытаюсь отобразить bean-компонент поставщика в функцию Azure с помощью Spring Cloud Function 2.0, но мне нужно расширить AzureSpringBootRequestHandler, который, кажется, поддерживает только функции с входным параметром и возвращаемым значением.У класса AzureSpringBootRequestHandler есть два параметра типа: входной и выходной, а AzureSpringBootRequestHandler.handleRequest () также ожидает входной параметр.
@Bean
public Supplier<List<String>> foo() {
return () -> Arrays.asList("foo1", "foo2");
}
/////
class FooFunction extends AzureSpringBootRequestHandler<Void, List<String>> {
@FunctionName("foo")
List<String> foo(@HttpTrigger(name = "req", methods = {HttpMethod.GET, HttpMethod.POST},
authLevel = AuthorizationLevel.FUNCTION) HttpRequestMessage<Optional<String>> request,
ExecutionContext context) {
return handleRequest(null, context);
}
}
Приведенный выше код вызывает NPE для реактора.core.publisher.FluxJust. (FluxJust.j.: 60)
Изменение типа возвращаемого значения @Bean на Function<Void, List<String>>
вызывает IllegalStateException "Не определена функция с именем = foo" в AzureSpringFunctionInitializer.lookup
Добавление фиктивного параметра int работает.
PS В идеале мне даже не нужно возвращаемое значение, поэтому вместо «поставщика» я бы сделал его работоспособным, но это кажется совершенно неподдерживаемым.
Любая помощь будет принята.