Я пытаюсь понять, как создавать функции Azure, используя Java с простой функцией преобразования температуры. Маршрут, который я попытался определить:
временные секретари / {метод} / {темп?}
Я изменил шаблонный код HttpTrigger, сгенерированный для нового Java-проекта:
@FunctionName("temps")
public HttpResponseMessage run(
@HttpTrigger(name = "req",
methods = {HttpMethod.GET},
authLevel = AuthorizationLevel.ANONYMOUS,
route = "temps/{method}/{temp:float?}")
HttpRequestMessage<Optional<String>> request,
@BindingName("method") String method,
@BindingName("temp") String temp,
final ExecutionContext context) {...}
Это прекрасно работает, когда я фактически передаю значение температуры в качестве последнего параметра, но если я просто вызываю "temps / {method}", я получаю NullPointerException при
com.microsoft.azure.functions.worker.binding.BindingDataStore.getTriggerMetatDataByName(BindingDataStore.java:54).
Так что я предполагаю, что неправильно определяю привязки, чтобы он мог правильно обрабатывать, когда последний параметр не включен в URI. Я видел ряд других сообщений об этом, которые указывают, в том числе и «?» должно работать, так что интересно, если я упускаю что-то очевидное. Примечание: у меня есть код, чтобы проверить, является ли значение, переданное в temp, значением float, так что все работает хорошо.