@@ -4,15 +4,18 @@
 
 import lombok.RequiredArgsConstructor;
 import lombok.extern.log4j.Log4j2;
-import org.springframework.http.HttpStatus;
+import org.springframework.data.domain.PageRequest;
+import org.springframework.data.domain.Pageable;
 import org.springframework.http.ResponseEntity;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.security.core.annotation.AuthenticationPrincipal;
 import org.springframework.web.bind.annotation.*;
 
 import com.hanahakdangserver.auth.security.CustomUserDetails;
+import com.hanahakdangserver.common.ResponseDTO;
 import com.hanahakdangserver.faq.dto.FaqRequest;
 import com.hanahakdangserver.faq.dto.FaqResponse;
+import com.hanahakdangserver.faq.enums.FaqResponseSuccessEnum;
 import com.hanahakdangserver.faq.service.FaqService;
 
 import io.swagger.v3.oas.annotations.Operation;
@@ -23,12 +26,28 @@
 @Tag(name = "FAQ", description = "FAQ 관련 API")
 @RestController
 @RequiredArgsConstructor
-@RequestMapping("/faq")
+@RequestMapping("/lectures/faq")
 @Log4j2
 public class FaqController {
 
   private final FaqService faqService;
 
+  @Operation(summary = "FAQ + Answer 조회", description = "FAQ와 답변을 합쳐 페이지네이션으로 조회합니다.")
+  @ApiResponses({
+      @ApiResponse(responseCode = "200", description = "조회 성공"),
+      @ApiResponse(responseCode = "404", description = "해당 강의가 존재하지 않습니다.")
+  })
+  @GetMapping("/{lectureId}")
+  public ResponseEntity<ResponseDTO<List<FaqResponse>>> getPaginatedFaqsByLectureId(
+      @PathVariable Long lectureId,
+      @RequestParam(defaultValue = "0") int page) {
+
+    List<FaqResponse> paginatedFaqs = faqService.getPaginatedFaqs(lectureId, page);
+
+    log.info("FAQ + 답변 조회 성공: lectureId={}, page={}", lectureId, page);
+    return FaqResponseSuccessEnum.GET_FAQ_LIST_SUCCESS.createResponseEntity(paginatedFaqs);
+  }
+
   @PreAuthorize("isAuthenticated() and hasRole('MENTEE')")
   @Operation(summary = "문의 등록", description = "특정 강의에 대한 문의를 등록합니다.")
   @ApiResponses({
@@ -37,7 +56,7 @@ public class FaqController {
       @ApiResponse(responseCode = "404", description = "해당 강의가 존재하지 않습니다.")
   })
   @PostMapping("/{lectureId}")
-  public ResponseEntity<FaqResponse> createFaq(
+  public ResponseEntity<ResponseDTO<FaqResponse>> createFaq(
       @AuthenticationPrincipal CustomUserDetails userDetails,
       @PathVariable Long lectureId,
       @RequestBody FaqRequest request) {
@@ -46,20 +65,9 @@ public ResponseEntity<FaqResponse> createFaq(
     FaqResponse response = faqService.createFaq(lectureId, request, userId);
 
     log.info("문의 등록 성공: lectureId={}, userId={}", lectureId, userId);
-    return ResponseEntity.status(HttpStatus.CREATED).body(response);
+    return FaqResponseSuccessEnum.CREATE_FAQ_SUCCESS.createResponseEntity(response);
   }
 
-  @PreAuthorize("isAuthenticated()")
-  @Operation(summary = "문의 조회", description = "특정 강의에 대한 모든 문의를 조회합니다.")
-  @ApiResponses({
-      @ApiResponse(responseCode = "200", description = "문의 조회 성공"),
-      @ApiResponse(responseCode = "404", description = "해당 강의가 존재하지 않습니다.")
-  })
-  @GetMapping("/{lectureId}")
-  public ResponseEntity<List<FaqResponse>> getFaqsByLectureId(@PathVariable Long lectureId) {
-    List<FaqResponse> faqs = faqService.getFaqsByLectureId(lectureId);
-    return ResponseEntity.ok(faqs);
-  }
 
   @PreAuthorize("isAuthenticated()")
   @Operation(summary = "문의 삭제", description = "특정 문의를 삭제합니다.")
@@ -77,7 +85,6 @@ public ResponseEntity<Void> deleteFaq(
     faqService.deleteFaq(faqId, userId);
 
     log.info("문의 삭제 성공: faqId={}, userId={}", faqId, userId);
-    return ResponseEntity.noContent().build();
+    return FaqResponseSuccessEnum.DELETE_FAQ_SUCCESS.createEmptyResponse();
   }
-
 }

리뷰: Pageable 객체 생성은 Controller 보다는 Service단에서 하는 것이 더 좋을 것 같습니다~
비슷하게 size 역시 쿼리 파라미터로 받기 보다는 Service 코드에서 상수로 관리하는 것이 더 좋습니다!