Значение параметра [1] не соответствует ожидаемому типу [java.lang.Integer (n / a)] - PullRequest
0 голосов
/ 12 апреля 2019

У меня есть сущность и контроллер покоя, когда я делаю запрос к контроллеру, он выдает это исключение:

java.lang.IllegalArgumentException: значение параметра [1] не соответствует ожидаемому типу [java.lang.Integer (n / a)]

Мой контроллер:

@GetMapping("/createCharacter")
public Character createCharacters(@RequestParam("userId") Integer userId, @RequestParam("mapId") long mapId) {
    return createCharactersService.createCharacters(userId, mapId);
}

Моя сущность имеет идентификатор типа int:

  @Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int id;

1 Ответ

0 голосов
/ 13 апреля 2019

Поскольку идентификатор - это uuid, вы должны хранить его как строку в сущности.

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private String id;

Поэтому вы обязаны использовать его в качестве строки в службе и в контроллере.

@GetMapping("/createCharacter")
public Character createCharacters(@RequestParam("userId") String userId, @RequestParam("mapId") long mapId) {
    return createCharactersService.createCharacters(userId, mapId);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...