본문 바로가기

분류 전체보기251

자바 스프링 부트 컨트롤러 406 Not Acceptable 에러[20221104-TIL] .HttpMediaTypeNotAcceptableException: Could not find acceptable representation .HttpMediaTypeNotAcceptableException: Could not find acceptable representation 에러 HTTP (HyperText Transfer Protocol) 406 Not Acceptable 클라이언트 오류 응답 코드는 서버가 요청의 사전 콘텐츠 협상 헤더에 정의 된 허용 가능한 값 목록과 일치하는 응답을 생성 할 수 없으며 서버가 기본 표현을 제공하지 않음을 나타낸다고 한다. 즉 헤더랑 일치하는 값이 없다는 건데... 에러 내용 찾아봤는데 다들 MappingJackson2HttpMessageConverter 문제.. 2022. 11. 4.
Jpa repository save 는 왜 null 일까? 1[20221103 TIL] 테스트를 잘 통과하고 서버에도 프론트에도 잘나오는 이아이는 테스트 할때 마다 골치다 아니 대체 왜 저장한 것을 반환하는 값이 항상 null 인가? 그래서 일단은 verify 로 이게 호출되었는지만 테스트를 하고 있긴 하다. JPA 기본 구현체에 구현되어있는 save() 구현 @Transactional @Override public S save(S entity) { Assert.notNull(entity, "Entity must not be null."); if (entityInformation.isNew(entity)) { // (1) em.persist(entity); return entity; } else { return em.merge(entity); } } (1) isNew()의 반환 타입에 따라.. 2022. 11. 3.
ManyToOne, OneToMany 를 쓰지않고 DTO에 List 속성 넣어주기[20221102 TIL] 어제 불과 ManyToOne, OneToMany 어노테이션으로 프론트엔드로 보내주는 DTO에 리스트 배열을 넣을 수 있다고 했는데 오늘은 반대의 방식을 들고 왔다. 오늘 트레이너님께서 위 어노테이션을 사용하면 n + 1 문제 가 생긴다고 해서 나중에 JPA에서 처리해주어야하는 법을 추가로 배워야한다고 했다. 근데 강의에서 배운대로하면 상관없다고 해서 다시..... 지웠다...(동료가 지우라고했는데 고집고집 부리다 테스트 코드 짜기 어려워서 지웠다..) 개요 나는 스터디라는 모임을 모으는 게시물 객체가 복수의 해쉬태그의 객체를 가지는 것을 만들고 싶었다. 그래서 List 가 등장하면서 너무 헷갈렸는데 일단 작게 나눈다. Study 라는 클래스의 객체를 study.toDto()라는 메소드로 변환해주고 있었다.. 2022. 11. 2.
자바 DTO의 속성값에 배열넣어주기[20221101-TIL] 요 며칠 한참을 고민한 문제가 바로 DTO에 배열을 넣어주는 문제였다. 여태까지는 객체DTO를 만들어서 그 객체가 속성값으로 String 이나 Long 을 가지고 있고 그것들을 List 형태로 보내주어서 JSON 타입으로 받았는데 리스트 안의 DTO가 속성으로 List를 들고 있으니 바로 에러가 떠버린다. 사실 게시글을 작성할때 게시물이 댓글을 들고 있다거나 해쉬태그를 들고있다거나 하나의 객체가 같은 속성이지만 복수의 속성을 들고 있는 경우는 매우 많은 것 같은데 이게 구현이 잘 안됬다. 시도한 것 1. 자꾸 데이터측면에서 접근함 데이터에서 어떻게 나누어야 잘나눌까를 고민하다가 실패 2. List 으로 넣어주기 위와 같이 원하는 속성값들을 배열로만든 후 DTO로 변환후 다시 배열 DTO로 변환하려고 했는.. 2022. 11. 1.