TaskController.java

역할


1. 업무 목록 조회 (GET /api/tasks)

@GetMapping
public ResponseEntity<PageResponse<TaskResponse>> list(
    @RequestParam(name = "scope", required = false, defaultValue = "all") String scope,
    @RequestParam(name = "status", required = false) TaskStatus status,
    @RequestParam(name = "page", required = false, defaultValue = "0") int page,
    @RequestParam(name = "size", required = false, defaultValue = "9") int size,
    @AuthenticationPrincipal UserDetails principal
) {
    Long userId = Long.parseLong(principal.getUsername()); 
    Page<TaskResponse> result = taskQueryService.list(scope, status, userId, page, size);
    return ResponseEntity.ok(PageResponse.from(result));
}

설명:


2. 업무 생성 (POST /api/tasks/create)

@PostMapping("/create")
public ResponseEntity<TaskResponse> create(
        @Valid @RequestBody TaskCreateRequest req,
        @AuthenticationPrincipal UserDetails principal
) {
    if (principal == null) return ResponseEntity.status(401).build(); 

    Long userId = Long.parseLong(principal.getUsername());
    return ResponseEntity.ok(taskCommandService.create(req, userId));
}

설명: