[에러]HttpMediaTypeNotAcceptableException: No acceptable representation, 406 트러블슈팅

박재성·2024년 12월 3일
0
post-thumbnail

문제 : API 전송시 406 에러 발생

배경

현재 배우는 영상의 강의를 따라 하다가 406번 에러가 발생했습니다. Intelij에서는 HttpMediaTypeNotAcceptableException이 발생했다고 알려줍니다. 오늘 배운 바로는 4XX 에러는 클라이언트가 패킷을 전송할 때 발생하는 오류입니다. 그 말은 즉, 제가 보내는 방식이 잘못되었다는 것을 알 수 있습니다. 하지만 JSONraw를 고치고, 파일을 봐도 뭐가 잘못된건지 모르겠어서 트러블슈팅을 작성하게 되었습니다.

원인

구글링을 해서 찾아보니 Dto 클래스에 @Getter를 붙이지 않아서 오류가 발생했다고 하길래 제 Dto 클래스를 찾아봤습니다.

package com.example.memo.dto;

import com.example.memo.entity.Memo;

public class MemoResponseDto {

    private Long id;
    private String title;
    private String contents;

    public MemoResponseDto(Memo memo) {
        this.id = memo.getId();
        this.title = memo.getTitle();
        this.contents = memo.getContents();
    }
}

@Getter annotation이 붙어있지 않습니다.

해결

package com.example.memo.dto;

import com.example.memo.entity.Memo;
import lombok.Getter;

@Getter
public class MemoResponseDto {

    private Long id;
    private String title;
    private String contents;

    public MemoResponseDto(Memo memo) {
        this.id = memo.getId();
        this.title = memo.getTitle();
        this.contents = memo.getContents();
    }
}

Dto 클래스에 @Getter를 붙였습니다. 돌린 결과는 성공입니다.

0개의 댓글