Ниже моя конечная точка отдыха. Я использовал Long для типа данных для userId , он прекрасно работает при вызове конечной точки через почтальонов, как показано ниже, и я могу явно обрабатывать исключения.
локальный: 8080 / заказ-сервис / сохранить заказ / 1
но когда я звоню вот так с параметром строкового типа,
локальные: 8080 / заказ-сервис / сохранить заказ / а
весенняя загрузка неявно обрабатывает исключение и выдает 400 неверных запросов.
что я хочу, это выдать специальное сообщение об ошибке типа «пожалуйста, отправьте правильный userId», когда тип переменной параметра не равен long.
@PostMapping(path = "/save-order/{userId}")
@ResponseBody
public ResponseEntity<ExceptionResponse> addOrder(@Valid @RequestBody
OrderDTO orderDto, @Valid @PathVariable(name = "userId") Long userId) throws BatchException, UserExceptions, BatchIdException, InvalidDateFormatException, DeliveryIdException,BatchMerchantException {
return ResponseEntity.ok(new ExceptionResponse("Order Saved", 201, orderServiceImpl.saveOrder(orderDto, userId)));
}