Quarkus Funqy Lambda Handler возвращает 404 HTML периодически, не выполняет код обработчикаJAVA

Программисты JAVA общаются здесь
Anonymous
Quarkus Funqy Lambda Handler возвращает 404 HTML периодически, не выполняет код обработчика

Сообщение Anonymous »

В итоге: иногда мой обработчик AWS Lambda, построенный из Quarkus Funqy, не вызывается, и Quarkus, кажется, возвращает некоторый по умолчанию 404 HTML, оба при запуске локально с режимом Quarkus dev и развертываем нативного исполняемого для AWS Lambda. Я прошу помощь в исправлении этого поведения. ниже я определяю, как работает приложение и как оно настроено. Я собираюсь создать нативного исполняемого файла. < /P>
@ApplicationScoped
public class DeviceController {

private static final Logger log = LoggerFactory.getLogger(DeviceController.class);
private final DeviceService deviceService;
private final ObjectMapper objectMapper;
@Inject
public DeviceController(DeviceService deviceService) {
this.deviceService = deviceService;
this.objectMapper = new ObjectMapper().registerModule(new JavaTimeModule())
.disable(SerializationFeature.WRITE_DATE_KEYS_AS_TIMESTAMPS);
}

@Funq
public Map handler(Map apiRequestEvent) {
try {
String path = (String) apiRequestEvent.get("path");
String httpMethod = (String) apiRequestEvent.get("httpMethod");
String body = (String) apiRequestEvent.get("body");
Map queryStringParameters = readQueryParameters(apiRequestEvent);
if (!path.equals("/device")) {
throw new ServiceException(String.format("Path %s does not exist", path)
, GlobalExceptionCode.INVALID_PATH);
}
return switch (httpMethod) {
case "POST"-> this.createDevice(body);
case "GET"-> this.getDevice(queryStringParameters);
default -> throw new ServiceException("Invalid method", GlobalExceptionCode.INVALID_METHOD);
};
} catch (ServiceException ex ){
return handleServiceException(ex);
} catch ( ModelException ex){
return handleModelException(ex);
} catch (RuntimeException ex){
return handleRuntimeException(ex);
} catch (Exception e) {
return handleGenericException(e);
}
}
< /code>
Слой обработчика не является чем -то необычным: я могу выделить обработчик получает карту для события запроса API Gateway (с Body, QuerystringParameters, httpmethod и т. Д.) И возвращает другую карту для события ответа API Gateway. Он использует впрыск зависимости уровня обслуживания для обработки бизнес -логики. Есть вспомогательные методы для анализа входной карты и создания выходной карты. Даже не запускает точку останова от отладчика на первой строке), и вызов обработчика возвращает 404. < /p>
Вот Lambda, успешно работающая в режиме Quarkus dev, вызывая от почтальника: < /p>


Вот прерывистая ошибка при запуске локально:


Подробнее здесь: https://stackoverflow.com/questions/795 ... -execute-h

Вернуться в «JAVA»