gg *_* ff 5 java spring spring-data
我有实体和休息控制器,当我向控制器发出请求时,它会抛出此异常:
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);
}
Run Code Online (Sandbox Code Playgroud)
我的实体有 int 类型 id:
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int id;
Run Code Online (Sandbox Code Playgroud)
小智 6
对于那些根据错误发现此问题的人:
java.lang.IllegalArgumentException: Parameter value [Type@abdc80fc] did not match expected type [Type (n/a)]
Run Code Online (Sandbox Code Playgroud)
您可能会像这样使用 JPA:
@Repository
public interface OtherRepository extends JpaRepository<Other, Long> {
List<Other> findAllByType(final Type type);
Run Code Online (Sandbox Code Playgroud)
在这种情况下,请使用 Type 的 id(因此:findAllByTypeId)。
由于 Id 是一个 uuid,因此您必须将其保留为实体中的字符串。
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private String id;
Run Code Online (Sandbox Code Playgroud)
因此,您必须在服务和控制器中将其用作字符串。
@GetMapping("/createCharacter")
public Character createCharacters(@RequestParam("userId") String userId, @RequestParam("mapId") long mapId) {
return createCharactersService.createCharacters(userId, mapId);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
65689 次 |
| 最近记录: |