인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

installjung님의 프로필 이미지
installjung

작성한 질문수

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

HTTP 요청 파라미터 - @ModelAttribute

바이딩 관련 오류

작성

·

297

0

안녕하세요 강사님 파라미터 공부중에 에러가 생겨 질문드립니다.

MemberController에는

 

//    // . 멤버 dto
// @PostMapping("/memberdto")
// public ResponseEntity<String> member3(@RequestBody MemberDto memberDto){
// log.info("성공!!!: +{} " ,memberDto.getA());
// log.info("성공!!!: + {} " ,memberDto.getB());
//
// return new ResponseEntity<>("zzz",HttpStatus.OK);
// }
@PostMapping("/memberDto")
public ResponseEntity<String> memberBody(@RequestBody MemberDto memberDto){
log.info("member_name = {}",memberDto.getUsername());
log.info("member_password = {}", memberDto.getPassword());
return new ResponseEntity<>("ok", HttpStatus.OK);
}
}

 

MemberDto에는 이렇게 있었습니다. 

@NoArgsConstructor
@AllArgsConstructor
@Data
public class MemberDto {

private String username;
private String password;
}



그런데 MemberController 위에 주석된 부분은 로그를 찍었을대 null 로 나오고 주석이 안된 부분은 값이 잘나오는데 왜 그런지 여쭤보려 문의드립니당,,, 

 

둘다 postman으로 실행은 되는데 로그에 주석된 부분은 null/ 주석안된 부분은 choi 25로 잘나와서 문의드립ㄴ다

답변 1

0

안녕하세요. installjung님, 공식 서포터즈 OMG입니다.

MemberDto 클래스 코드가 바뀌지 않고 올리신 형태로 진행하였다면

주석처리 한 코드를 주석 해제 할 경우 getA, getB 가 정의되어 있지 않아 컴파일 에러가 발생해서 실행이 되지 않을 것 같습니다.

 

        log.info("성공!!!: +{} " ,memberDto.getA());
log.info("성공!!!: + {} " ,memberDto.getB());

 


감사합니다.

installjung님의 프로필 이미지
installjung

작성한 질문수

질문하기