반응형
단순히 데이터를 조회하거나 가져오는건 GetMapping으로 구현하였으나,
내용 변경을 수정하기 위하여 PutMapping을 사용하였다.
물론 테스트를 위해서는 PostMan 이용
수행과정
http://localhost:8088/users/변경할 이름
변경할 user의 정보는 JSON 형태로 id를 정확히 포함하여 Send한다.
변경할 이름을 전달하면, 저장된 데이터 중에 매칭되는 id 값의 유저 정보를 찾아 전달받은 이름으로 setName 수행. (DB에서 적용하는 상세 과정은 생략)
UserController.java
// 숙제
// JSON 형태로 데이터를 입력하면, 맞는 id에 대한 데이터가 수정됨.
@PutMapping("/users/{name}")
public ResponseEntity<User> modifyUser(@RequestBody User user, @PathVariable String name) {
User savedUser = service.modify(user,name);
if(savedUser == null) {
throw new UserNotFoundException(String.format("ID[%s] not found",user.getId()));
}
return ResponseEntity.noContent().build();
}
UserDaoService.java
public User modify(User user, String name) {
for(User use:users) {
if(use.getId() == user.getId()) {
use.setName(name);
return use;
}
}
return null;
}
728x90
반응형
'개발아닌개발 > springboot' 카테고리의 다른 글
Map<String, Object>의 안에 Object를 int로 바꾸는 방법 (2) | 2021.11.10 |
---|---|
[오류] JPA를 이용하여 UPDATE @query 사용 시, No results were returned by the query (0) | 2021.11.08 |
GetMapping 반복 - Scheduler 실습하기 (0) | 2021.11.08 |
[SpringBoot] 프로젝트에 hateoas 기능 사용하기 (0) | 2021.11.05 |
SpringBoot 프로젝트 개요 (0) | 2021.11.05 |
댓글