작성자 없음
작성자 정보가 삭제된 글입니다.
작성
·
475
답변 2
0
안녕하세요, 1026999님!! 답변해주셔서 정말 감사드립니다! 🙏🙏
1026999님께서 말씀해주신 내용은 request로 되어 있는 UserUpdateRequest
객체의 필드 이름을 바꾸었을 때와 관련이 있고, 실제로 @JsonProperty
와 같은 jackson 어노테이션을 사용해 해결할 수 있습니다. (관련 블로그 : https://gilu-world.tistory.com/100)
ㅇㅇ님의 질문에도 추가적으로 답변을 드려볼게요! 혹시 말씀해주시는 "밑줄이 쳐진다"라는게 이런 상황이실까요?
질문 주신 내용이 "request
라는 파라미터 이름을 바꿀 수 있는가?" 라면 바꿀 수 있습니다!
현재 위의 코드는 파라미터의 이름만 request
에서 req
로 바꾸고 해당 파라미터를 사용하는 코드를 request
에서 req
로 바꾸지 않아 빨간 에러 표시가 나고 있습니다.
즉, 아래에서 파라미터를 사용할 때 req
라고 표시해준다면 정상적으로 활용가능하다는 의미입니다!
@RequestBody
라는 어노테이션을 붙였을지라도, 결국 하나의 함수 파라미터이기 때문에 원하시는대로 request
라는 이름을 변경하실 수 있습니다. 😊
감사합니다!! 🙏
0
밑줄이 쳐지는 이유는 @RequestBody
어노테이션으로 인해 스프링이 해당 매개변수가 HTTP 요청의 본문(body)에 있는 JSON 또는 XML 데이터로부터 값을 바인딩해야 한다는 것을 나타내기 위해서입니다.
따라서 해당 매개변수를 바꾸면 스프링이 HTTP 요청 본문으로부터 데이터를 바인딩하지 못하게 되므로 밑줄이 쳐지는 것입니다. 만약 매개변수 이름을 변경하고 싶다면, @JsonProperty
어노테이션을 사용하여 요청 본문의 필드 이름과 매핑할 수 있습니다. 예를 들어, UserUpdateRequest
클래스에서 name
필드를 userName
으로 변경하려면 다음과 같이 @JsonProperty
어노테이션을 사용할 수 있습니다:
codepublic class UserUpdateRequest {
@JsonProperty("userName")
private String name;
// ...
}
이제 userName
필드 이름을 사용하여 HTTP 요청 본문에서 데이터를 바인딩할 수 있습니다.