인프런 커뮤니티 질문&답변

이현준님의 프로필 이미지
이현준

작성한 질문수

실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화

주문 조회 V3.1: 엔티티를 DTO로 변환 - 페이징과 한계 돌파

offset 과 limit 값을 서버쪽으로 보내는 방식

작성

·

556

0

안녕하세요

강의에서는 페이징에 필요한 offset과 limit 값을 @RequestParam을 통해서 넘겨주는 것을 보았습니다. 그런데, 저는 현재 @RequestBody OrderSearchDto를 파라미터로 받아와 내부 필드인 멤버명이나 주문 상태를 검색조건으로 활용하고 있었습니다.

이런 경우에는 그냥 @RequestParam을 사용하지 않고, DTO에 offset과 limit 필드를 추가해서 검색과 페이징에 필요한 데이터를 OrderSearchDto 안에 한번에 받는것은 어떤지 궁금합니다.

보통 실무에서는 페이징에 필요한 값은 @RequestParam으로 받는 편인가요? 아니면 저의 발상처럼 OrderSearchDto 같은 DTO를 통해 @RequestBody로 받기도 하나요? 일반적인 관점에서 best practice가 따로 있는지 궁금합니다.

답변 1

0

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. 이현준님

이 부분은 정답이 없습니다.

이 경우에는 데이터를 조회하는 관점으로 사용해야 하기 때문에 일반적으로 HTTP GET 메서드를 사용합니다.

그런데 GET 메서드를 사용하면 보통 데이터 바디 부분을 사용하지 않습니다.

결국 POST를 사용해야 하는 것이지요.

그래서 GET 메서드를 사용하고 파라미터를 전달 받습니다.

그런데 파라미터로 전달해야 하는 검색조건이 매우 복잡한 경우 POST에 데이터 바디에 전달하는 경우도 있습니다.

감사합니다.

이현준님의 프로필 이미지
이현준
질문자

이해했습니다. 감사합니다

이현준님의 프로필 이미지
이현준

작성한 질문수

질문하기