Значение параметра [\] не соответствует ожидаемому типу [java.lang.Long (n/a)]JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Значение параметра [\] не соответствует ожидаемому типу [java.lang.Long (n/a)]

Сообщение Anonymous »

Ниже приведен код из моего класса обслуживания и класса контроллера

Код: Выделить всё

public void updateRecord(long number, String data) throws RecordAlreadyExistsException, NumberNotPresentException {
boolean recordExists = recordRepository.existsByNumberAndDataLike(number, data);
if (recordExists) {
throw new RecordAlreadyExistsException("Entered number and data is present");
} else {
boolean numberExists = recordRepository.existsByNumberAndDataNotLike(number, data);
if (numberExists) {
Record record = recordRepository.findByNumber(number);
String d = record.getData();
record.setData(d + ";" + data);
recordRepository.save(record);
} else {
throw new NumberNotPresentException("Entered number is not present");
}
}
}

@PutMapping("/update")
public ResponseEntity updateRecord(@RequestBody Map payload) {
try {
String data = payload.get("data");
long number = Long.parseLong(payload.get("number"));
service.updateRecord(number, data);
return ResponseEntity.ok("data added successfully.");
} catch (RecordAlreadyExistsException e) {
return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(e.getMessage());
} catch (NumberNotPresentException e) {
return ResponseEntity.status(HttpStatus.NOT_FOUND).body(e.getMessage());
} catch (NumberFormatException e) {
return ResponseEntity.status(HttpStatus.BAD_REQUEST).body("Invalid format.");
} catch (Exception e) {
e.printStackTrace();
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR)
.body("An unexpected error occurred while processing the request.");
}
}
Я пытаюсь обновить записи с условиями:
  • если число существует и данные существуют, будет выдано сообщение " RecordAlreadyExistsException».
  • если число существует и данные для него отсутствуют, будут добавлены новые данные.
  • если оба отсутствуют, будет выдано исключение исключение «NumberNotPresentException».
Итак, когда я делаю первый вызов API, код работает так, как ожидалось, но при втором вызове я получаю ошибку: Параметр значение [] не соответствует ожидаемому типу [java.lang.Long (n/a)].
Я попробовал найти ошибку, она связана с преобразованием типа строки в long for аргумент «число», но я ввожу числовое значение, и оно работает с первой попытки, но со второго вызова выдается исключение.

Подробнее здесь: https://stackoverflow.com/questions/785 ... g-long-n-a
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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