NumberFormatExeption для Spring MVC параметра строкового типа
Есть @Entity class Order. Когда я пытаюсь сделать myRepository.findAll() получаю NumberFormatExeption
Вот метод из контролера
@PostMapping("/order")
@PreAuthorize("isAuthenticated()")
public String createOrder(@RequestParam(required = false) String courier,
@RequestParam(required = false) String postOffice,
@RequestParam(required = false) String cashless,
@RequestParam(required = false) String onDelivery,
@RequestParam(required = false) String cod,
@RequestParam(required = false) String address,
@RequestParam(required = false) Integer postOfficeId,
@RequestParam(name = "productId", required = false) Integer[] ids,
@RequestParam(name = "productSize", required = false) Integer[] sizes,
@AuthenticationPrincipal User user,
Model model) {
int orderNum = getUniqueOrderNumber(10000, 99999);
Order order = new Order();
order.setUser(user);
order.setStatus(1);
order.setOrderNumber(orderNum);
if (courier != null) {
order.setDeliveryType(1);
if (address != null) order.setAddress(address);
else order.setAddress("Адресс не указан");
if (cashless != null) order.setPayType(1);
else if (onDelivery != null) order.setPayType(2);
} else if (postOffice != null) {
order.setDeliveryType(1);
order.setPostOfficeId(postOfficeId);
if (cashless != null) order.setPayType(1);
else if (cod != null) order.setPayType(3);
}
List<Product> products = new ArrayList<>();
int price = 0;
for (Product product : user.getUniqueCard()) {
for (int i = 0; i < ids.length; i++) {
if (product.getId() == ids[i]) {
price += product.getPrice() * sizes[i];
for (int j = 0; j < sizes[i]; j++) {
products.add(product);
}
break;
}
}
}
order.setProducts(products);
order.setPrice(price);
orderRepo.save(order);
userService.removeAllFromCard(user);
userService.addOrder(user, order);
try {
String subject = "Order created";
String message = String.format(
"Order %s created", orderNum
);
mailSender.send(user.getEmail(), subject, message);
} catch (MessagingException e) {
model.addAttribute("message", "Не удалось отправить письмо на почту. Номер заказа: " + orderNum);
return mainController.main(model);
}
return "redirect:/";
}
private int getUniqueOrderNumber(int min, int max) {
Iterable<Order> orders = orderRepo.findAll();
int num = 10000;
boolean isUnique = false;
while (!isUnique) {
isUnique = true;
num = min + (int)(Math.random() * ((max - min) + 1));
for(Order order : orders) {
if (order.getOrderNumber() == num) {
isUnique = false;
break;
}
}
}
return num;
}
Ошибка гласит:
java.lang.NumberFormatException: For input string: "courier"
Если нужен стектрейс напишите в комментах, я добавлю