restful
jpa/ insert
hellojava
2023. 8. 24. 22:46
jpa가 확실히 쿼리문을 안적어도 되서 굉장히 작업량을 줄여주는 것 같다.
원래같으면
insert into table("","","","") values({id},{pwd},{~~~}) 이런식으로 해야하는데 이런 과정이 없어서 시간도 작업량도 엄청 줄여주는 것같다..
뭐 암튼 저번에 포스팅햇던 상태코드제어하기를 같이 사용하여
@PostMapping("/users")
public ResponseEntity<User> createUser(@Valid @RequestBody User user) {
User savedUser = userRepository.save(user);
URI location = ServletUriComponentsBuilder.fromCurrentRequest()
.path("/{id}")
.buildAndExpand(savedUser.getId())
.toUri();
return ResponseEntity.created(location).build();
}
public ResponseEntity<User> createUser(@Valid @RequestBody User user) {
User savedUser = userRepository.save(user);
URI location = ServletUriComponentsBuilder.fromCurrentRequest()
.path("/{id}")
.buildAndExpand(savedUser.getId())
.toUri();
return ResponseEntity.created(location).build();
}
insert가 되고 난 후 path까지 같이 주었당. @valid는 유효성 검사이고
json형식으로 데이터를 받아야하기 떄문에 requestbody까지..
{
"name": "User4",
"joinDate": "2023-08-24T13:17:59.940+00:00",
"password": "test1234",
"ssn": "907070-1232567"
}
이렇게 넣으면

201상태코드와 생성된 아이디를 확인 할 수 있는 uri까지 넘겨준다.