문제
라이브 시나리오 테스트 중, 방금 발급한 근로자 보안 링크를 실제로 /worker-portal/{token}으로 열어보면 "요청 내용을 불러오지 못했습니다"만 뜬다. 근로자 문서 제출·응답이라는 핵심 기능이 데모/로컬 환경에서 완전히 동작하지 않는다.
재현:
POST /api/v1/tasks/{taskId}/worker-link 로 링크 발급 → worker_url = http://localhost:5173/worker-portal/{token}
GET /api/v1/public/worker-links/{token} → 401(비로그인) 또는 404(로그인 상태)
GET /public/worker-links/{token} (버전 접두사 없이) → 200 정상 응답
원인
다음 3개 컨트롤러의 @RequestMapping/@PostMapping 경로가 다른 모든 컨트롤러와 달리 /api/v1 접두사 없이 정의되어 있다.
WorkerLinkViewController — GET /public/worker-links/{token} (should be /api/v1/public/worker-links/{token})
WorkerLinkDocumentController — POST /public/worker-links/{token}/documents
WorkerResponseController — POST /public/worker-links/{token}/responses
SecurityConfig의 permitAll 매처도 똑같이 /public/worker-links/**로 접두사 없이 정의돼 있어, 실제 클라이언트가 호출하는 /api/v1/public/worker-links/** 경로는 permitAll 규칙에 매칭되지 않고 hasAnyRole(...) 규칙으로 떨어져 로그인을 요구한다(근로자는 비로그인 상태이므로 접근 불가).
클라이언트(src/api/workerLinks.ts)는 처음부터 /api/v1/public/worker-links/...로 호출하고 있었고, 서버 통합 테스트(WorkerLinkSecurityIntegrationTest, PostgreSqlRestrictedRoleHttpE2ETest)는 접두사 없는 잘못된 경로를 그대로 테스트해서 이 불일치를 잡아내지 못했다.
영향
근로자가 SMS/링크로 받는 안내 조회, 서류 업로드, 응답 제출 — 근로자 대응 흐름 전체가 실제 배포 환경에서 동작하지 않는다. Critical.
수정 방향
문제
라이브 시나리오 테스트 중, 방금 발급한 근로자 보안 링크를 실제로
/worker-portal/{token}으로 열어보면 "요청 내용을 불러오지 못했습니다"만 뜬다. 근로자 문서 제출·응답이라는 핵심 기능이 데모/로컬 환경에서 완전히 동작하지 않는다.재현:
원인
다음 3개 컨트롤러의
@RequestMapping/@PostMapping경로가 다른 모든 컨트롤러와 달리/api/v1접두사 없이 정의되어 있다.WorkerLinkViewController—GET /public/worker-links/{token}(should be/api/v1/public/worker-links/{token})WorkerLinkDocumentController—POST /public/worker-links/{token}/documentsWorkerResponseController—POST /public/worker-links/{token}/responsesSecurityConfig의permitAll매처도 똑같이/public/worker-links/**로 접두사 없이 정의돼 있어, 실제 클라이언트가 호출하는/api/v1/public/worker-links/**경로는 permitAll 규칙에 매칭되지 않고hasAnyRole(...)규칙으로 떨어져 로그인을 요구한다(근로자는 비로그인 상태이므로 접근 불가).클라이언트(
src/api/workerLinks.ts)는 처음부터/api/v1/public/worker-links/...로 호출하고 있었고, 서버 통합 테스트(WorkerLinkSecurityIntegrationTest,PostgreSqlRestrictedRoleHttpE2ETest)는 접두사 없는 잘못된 경로를 그대로 테스트해서 이 불일치를 잡아내지 못했다.영향
근로자가 SMS/링크로 받는 안내 조회, 서류 업로드, 응답 제출 — 근로자 대응 흐름 전체가 실제 배포 환경에서 동작하지 않는다. Critical.
수정 방향
3개 컨트롤러 매핑에
/api/v1접두사 추가SecurityConfig의 permitAll 매처를/api/v1/public/worker-links/**로 수정관련 통합 테스트의 경로 상수 갱신
라이브 브라우저 테스트로 재현, 원인 특정
컨트롤러·시큐리티 설정 수정
관련 테스트 경로 갱신, 전체 테스트 통과 확인
라이브 브라우저로 근로자 링크 조회 재확인