반응형
프론트에서 post 로 데이터 객체를 보내게 되면
서버에서 RequestBody 로 객체를 받아야 하는 경우가 있다.
이때 받게 되는 데이터를 vo로 만들어서 받게 된다.
필드명을 프론트에서 보내는 객체명과 다르게 쓰고 싶은 경우 필드명을 어노테이션으로 받아야 한다.
같게 하려면 프론트필드명과 스프링객체 필드명을 같게만 하면 된다.
안되는 경우는 예를 들어 프론트 json 필드명에 . dot 가 들어간 경우는 아래 @JsonProperty 를 사용해야 한다.
프론트에서는 다음과 같이 post 로 데이터를 전송시
{
"relationship.name": "someting"
}
서버에서는 프론트 필드명과 서버받는 객체의 필드명을 달리 하려면 아래와 같이
@JsonProperty 를 추가하면 된다.
public class Request {
@JsonProperty("relationship.name")
private String relationshipName;
...
}
물론 이때 컨트롤러는 @RequestBody 로 받을 경우이다.
public ResponseEntity<String> test(@RequestBody Request request) throws Exception {
반응형
'Spring > Annotation' 카테고리의 다른 글
spring @ControllerAdvice, @ExceptionHandler 예외처리 방법 (0) | 2023.06.08 |
---|---|
[스프링] @Retryable - 특정오류시 재시도 (0) | 2023.03.29 |
[SPRING]스프링 어노테이션 정리 (1) | 2021.08.24 |