240104 TIL |

2024. 1. 4. 21:18· 왕초보일지
1. 할 일 카드 목록 api 의 응답에 연관된 댓글 내용을 추가해주세요.

정렬기준 받으면서 댓글 내용 추가하는건 도저히 못하겠어서 정렬기준은 빼고 이름으로 댓글과 같이 조회해봤고 잘된다.

[
  {
    "card": {
      "id": 23,
      "status": "FALSE",
      "title": "1111",
      "content": "1111",
      "createdAt": "24. 1. 3. 오후 3:23",
      "name": "1111"
    },
    "comments": [
      {
        "id": 12,
        "name": "string",
        "content": "string",
        "createdAt": "24. 1. 4. 오후 5:16"
      },
      {
        "id": 13,
        "name": "string",
        "content": "string",
        "createdAt": "24. 1. 4. 오후 5:16"
      },
      {
        "id": 14,
        "name": "string",
        "content": "string",
        "createdAt": "24. 1. 4. 오후 5:16"
      }
    ]
  },
  {
    "card": {
      "id": 28,
      "status": "FALSE",
      "title": "string",
      "content": "string",
      "createdAt": "24. 1. 3. 오후 7:38",
      "name": "1111"
    },
    "comments": []
  },
  {
    "card": {
      "id": 29,
      "status": "FALSE",
      "title": "string",
      "content": "string",
      "createdAt": "24. 1. 4. 오후 3:53",
      "name": "1111"
    },
    "comments": []
  }
fun getAllCardsWithComments(name: String , pageable: Pageable): List<CardWithCommentResponse> {
        val cards = cardRepository.findAllByName(name)
        val cardListWithComments = cards.map{ card ->
            val cardId = card.id
            val comments = commentRepository.findAllByCardId(cardId)
            CardWithCommentResponse(card, comments.map { it.toResponse() })
        }
        return cardListWithComments
    }

 

 


2. 할 일 카드 목록 api에 pagination 기능을 추가해주세요
- offset 기반 pagination 과 cursor 기반 pagination 에 대해 알아보기

https://kimvampa.tistory.com/173

 

Pagination

JpaRespository 가 상속받고있는 페이징 Respository

 

 

pageable 인터페이스

스프링 데이터 JPA 에서 쿼리 메소드의 인자를 pageable 을 받으면 페이징 된 결과를 Page 객체로 반환한다.

controller에서 인자로 pageable 인터페이스를 넣어주고 @PageableDefault 어노테이션으로 기본 페이지 위치, 글 갯수, 정렬기준, 정렬등을 설정해준다.

반환타입이 Page<>여야 해서 PageImpl 로 감싸줬다.

설정한 사이즈만 조회하는 것도 안되고 정렬도 안된다...

다른 사람들 페이징한 예시랑 달라도 너무 다른데 

카드랑 댓글이 자동으로 같이 조회안된다는 점 때문에 따라할 수가 없다 ㅜㅜ 

findAll() 로 다시 해봐도 댓글이 같이 안 보인다...

어디서부터 잘못된걸까.!

내일 해설영상보면서 클론코딩 최소2번은 해야겠다 ㅋㅋㅋ...

 

 

 

 

 

 

 

 

 

 

 

 

 

'왕초보일지' 카테고리의 다른 글

240108 TIL | 7주차 팀프로젝트  (3) 2024.01.08
240105 TIL | Todo과제  (1) 2024.01.05
240103 TIL | step1피드백, step2정리, step3  (0) 2024.01.03
240102 TIL |  (0) 2024.01.02
231230 | TIL  (0) 2023.12.30
'왕초보일지' 카테고리의 다른 글
  • 240108 TIL | 7주차 팀프로젝트
  • 240105 TIL | Todo과제
  • 240103 TIL | step1피드백, step2정리, step3
  • 240102 TIL |
다시은
다시은
🔥
다시은
재은로그
다시은
전체
오늘
어제
  • 분류 전체보기 (127)
    • 코딩테스트 (40)
    • Language (2)
      • JAVA (2)
      • Kotlin (0)
      • TypeScript (0)
    • SQL (1)
    • 인프라 (1)
    • 왕초보일지 (77)
    • 회고 (4)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • SQL문법
  • googleapis
  • Kotlin
  • 문자열변환
  • mysql
  • sql
  • 스프레드시트

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
다시은
240104 TIL |
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.