「 http://localhost:8080/user/person/1604438222 」を呼び出すと、稼働中のスタンドアロンアプリがエラーを下回っています。(データベースから個人IDの詳細を取得しようとしています)
2019-03-01 11:23:34.296 ERROR 52000 --- [nio-8080-exec-1] oaccC[.[.[/].[dispatcherServlet] : サーブレット [dispatcherServlet] の Servlet.service() とのコンテキストでパス [] が例外をスローしました [リクエストの処理に失敗しました。ネストされた例外は org.springframework.dao.InvalidDataAccessApiUsageException: パラメーター値 [1604438222] が予期される型と一致しませんでした [java.lang.Integer (n/a)]; ネストされた例外は java.lang.IllegalArgumentException です: パラメーター値 [1604438222] は、予期される型 [java.lang.Integer (n/a)]] と根本原因と一致しませんでした
java.lang.IllegalArgumentException: パラメーター値 [1604438222] は、org.hibernate.query.spi.QueryParameterBindingValidator.validate(QueryParameterBindingValidator.java:54) で予期される型 [java.lang.Integer (n/a)] と一致しませんでした ~[hibernate -core-5.3.7.Final.jar:5.3.7.Final] at org.hibernate.query.spi.QueryParameterBindingValidator.validate(QueryParameterBindingValidator.java:27) ~[hibernate-core-5.3.7.Final.jar: 5.3.7.最後】
コントローラ クラス:
@RestController @RequestMapping("/user") public class UserController { @Autowired PersonRepository personRepository; @GetMapping("/person/{prsId}") public Person getPerson(@PathVariable Long prsId) { return personRepository.findByPrsId(prsId); } }
リポジトリ:
@Repository public interface PersonRepository extends CrudRepository<Person, Long> { Person findByPrsId(Long Id); }
ポジョ
@Entity @Table(name = "Person") public class Person { @Column(name = "Prs_Id") @Id @GeneratedValue(strategy = GenerationType.AUTO) private Integer prsId; @Column(name = "P_Email_Internet_Addr", nullable = true, length = 255) private String email; protected Person() { } public Integer getPrsId() { return prsId; } public void setPrsId(Integer prsId) { this.prsId = prsId; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } @Override public String toString() { return "User [prsId=" + prsId + ", email=" + email + "]"; } }