본문 바로가기
개발아닌개발/springboot

User 내용 수정하는 PUTMapping

by 불청객 2021. 11. 8.
반응형

단순히 데이터를 조회하거나 가져오는건 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
반응형

댓글