Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- TypeScript
- 위크셋
- 화살표 함수
- nextjs
- logstash
- JavaScript
- MongoDB
- 이메일 전송
- javacript
- 참조에 의한 객체 복사
- Mongoose
- 로그스태시
- AGGREGATE
- DB
- react-slick
- 카카오로그인
- nestjs
- JSON.parse
- nest
- nodemailer
- 객체
- 카카오 소셜로그인
- 캐러셀
- JSON.stringify
- 중첩 구조 분해
- 구조 분해 할당
- 자바스크립트
- Map
- context switch
- 위크맵
Archives
- Today
- Total
뚜sh뚜sh
[ERROR] 컨트롤러에서 JSON으로 데이터 반환할 때 406 에러 발생 본문
@PostMapping("/signup")
public SignupResponse signup(@RequestBody String data) {
log.info("서비스 로직 성공");
return new SignupResponse(200, "회원가입이 완료되었습니다.");
}
위와 같은 코드를 구현한 다음 Postman을 실행했더니 406 Not Acceptable 에러가 발생했다.
찾아보니 요청 헤더와 응답 헤더에 application/json으로 세팅해줘야 한다고 했는데 난 이미 세팅된 후였다.
그러다 알게 된 사실은 Springboot는 기본적으로 객체를 JSON 형식으로 직렬화하여 클라이언트에게 반환한다는 사실을 알게 됐다.
객체를 직렬화하기 위해서는 객체의 필드에 접근할 수 있어야 하는데 내 SignupResponse 클래스에는 Getter 메서드가 없었기 때문에 필드에 접근할 수 없어서 발생한 에러였다.
따라서 SignupResponse에 @Getter를 붙였더니 해결되었다!
'Framework > Spring' 카테고리의 다른 글
Spring 예외 처리 구현 (2) | 2024.01.31 |
---|---|
Spring Security로 비밀번호 암호화 하기 (0) | 2024.01.27 |
Custom Validation Annotation 만들기 (0) | 2024.01.27 |
@NotNull과 @NotEmpty, @NotBlank의 차이점 (0) | 2024.01.17 |
로그에 color 적용하기 (0) | 2023.12.09 |
Comments