반응형
PUT으로 해당 JSON 객체 요청이 들어온다고 가정해봅시다.
PUT {URL/~}
content-type: application/json
{
"phoneNumber": "010-0000-0000",
"name": "김아무개",
"age": 28
}
Body에 핸드폰 번호, 이름, 나이의 정보를 받습니다. 이때! Map을 사용하지 말고 객체를 생성해서 만들어줍시다.
/**
* 사용자 승인
* @param req
* @return
*/
@PutMapping("/~")
public Object approvalFrom(@RequestBody Map<String,String> req){
...
}
이런 식으로 하면 문제점이 무엇일까요?
Map으로 리퀘스트를 처리할 경우 어떤 값이 넘어오는지 알 수 없고, 관리하기가 다소 어렵습니다. 정확한 모델을 만들어서 Request를 받는 것이 좋습니다.
import lombok.Getter;
@Getter
public class UserInfoRequestDto {
private String phoneNumber;
private String name;
private int age;
}
핸드폰 번호, 이름, 나이를 받을 수 있는 객체를 하나 생성해서 사용한다면, 재사용성과 정확한 값을 받아올 수 있는 장점이 있습니다. 또한 객체지향적인 관점에서 장점을 가질 수 있습니다.
/**
* 사용자 승인
* @param req
* @return
*/
@PutMapping("/~")
public Object approvalFrom(@RequestBody UserInfoRequestDto req){
...
}
위와 같이 사용하면 됩니다. @RequestBody를 Map으로 받는 것을 지양해야 합니다.
반응형
'혼자 공부하는 것들 > Spring' 카테고리의 다른 글
@Component는 어떻게 동작하는 걸까? (0) | 2023.01.24 |
---|---|
spring-data-envers로 데이터 변경 이력(히스토리)을 관리해보자! (0) | 2022.09.04 |
Reflection(리플렉션) 활용 (0) | 2022.05.22 |
인터페이스 기반 프록시 VS 클래스 기반 프록시 (1) | 2022.05.15 |
프록시 패턴과 데코레이터 패턴 (0) | 2022.05.10 |
댓글