자동메소드 saveAll을 Repository에 선언했을 때 발생하는 에러

effiRin·2023년 3월 12일
0

R2DBC

목록 보기
4/4
post-thumbnail

문제

{
  "contents": [
    {
      "id": 0,
      "title": "20220222",
      "creator": "string",
      "genre": "string",
      "openedAt": "20220222"
    },
    {
      "id": 0,
      "title": "20220222",
      "creator": "string",
      "genre": "string",
      "openedAt": "20220222"
    }
  ]
}

이렇게 requestBody로 보냈는데

contents가 하나일 때는 로직이 정상적으로 작동하는데 (save 성공)

여러 개일 때는 아래와 같은 에러 메시지가 출력됨

"message": "More than one onNext value for awaitSingleOrDefault"


원인 및 해결

saveAll이란 자동 메소드를 쓰는데,
실수로 repository에 saveAll 함수를 선언해놨더니
하나만 저장되는 save 함수가 된 모양이다


근데 신기한 건…
save는 원래 list 로 들어가면 안될텐데 에러가 전혀 안남…;


여튼 saveAll 같은 자동 메소드는 Repository에서 선언하지 않고
domainservice단에서 saveAll 바로 써주는 식으로 해야한다.


이렇게 하니까 에러 없이 정상 작동한다.

profile
모종삽에서 포크레인까지

0개의 댓글