✅ Auth (인증 / 사용자 정보 API)

API 이름 Method URL 요청 파라미터 요청 예시 응답 코드 응답 예시 설명 담당자
회원가입 POST /api/user/signup Body json { "email": "test@example.com", "password": "1234", "rePassword": "1234", "nickname": "한라봉", "profileImage": "<https://cdn.example.com/profile.png>" } 201, 400, 409 201: 회원가입 성공 이메일·비밀번호 기반 신규 회원 등록 @익명
로그인 POST /api/user/login Body json { "email": "test@example.com", "password": "1234" } 200, 401 json { "accessToken": "jwt-token", "tokenType": "Bearer" } 로그인 후 JWT 토큰 발급 @익명
내 정보 조회 GET /api/user/myinfo Header(JWT) 없음 200, 401 json { "userId": 5, "email": "test@example.com", "nickname": "한라봉", "profileImage": "url" } 로그인 사용자 정보 조회 @익명
내 정보 수정 PATCH /api/user/myinfo Body json { "password": "5678", "rePassword": "5678", "nickname": "새닉네임", "profileImage": "url" } 204, 400, 401 204 No Content 비밀번호·닉네임·프로필 이미지 수정 @익명

📝 Company (기업 정보 API)

API 이름 Method URL 요청 파라미터 요청 예시 응답 코드 응답 예시 설명 담당자
기업 목록 조회 GET /api/companies Query(page, size) 없음 200 PageResponse<CompanyResponse> 페이지네이션 기반 기업 목록 조회 @익명
기업 상세 조회 GET /api/companies/{companyId} Path(companyId) /api/companies/1 200, 404 CompanyResponse 특정 기업 상세 정보 조회 @익명
기업 등록 POST /api/companies Body json { "name": "SEGA", "industry": "게임", "city": "도쿄", "website": "url", "description": "설명", "companyImage": "url" } 200, 400, 401 CompanyResponse 신규 기업 정보 등록 @익명
기업 수정 PUT /api/companies/{companyId} Path + Body json { "name": "SEGA", "industry": "게임", "city": "오사카" } 200, 400, 401, 403, 404 CompanyResponse 기존 기업 정보 수정 @익명

📝 Detail (기업 분석 API)

API 이름 Method URL 요청 파라미터 요청 예시 응답 코드 응답 예시 설명 담당자
기업 분석 목록 조회 GET /api/companies/{companyId}/detail Path + Query page, size, keyword 200, 404 PageResponse<DetailResponse> 기업 분석 글 목록 조회 @익명
기업 분석 상세 조회 GET /api/companies/{companyId}/detail/{detailId} Path 없음 200, 404 DetailResponse 기업 분석 상세 조회 @익명
기업 분석 등록 POST /api/companies/{companyId}/detail Body json { "title": "기업 분석", "position": "백엔드", "content": "내용" } 201, 400, 401 DetailResponse 기업 분석 글 작성 @익명
기업 분석 수정 PUT /api/companies/{companyId}/detail/{detailId} Body 수정 JSON 200, 403, 404 DetailResponse 기업 분석 수정 @익명
기업 분석 삭제 DELETE /api/companies/{companyId}/detail/{detailId} Path 없음 204 없음 기업 분석 삭제 @익명
내 기업 분석 조회 GET /api/companies/{companyId}/detail/me Query page, size, keyword 200 PageResponse<DetailResponse> 로그인 사용자의 분석 글 조회 @익명

📝 Review (기업 후기 API)

API 이름 Method URL 요청 파라미터 요청 예시 응답 코드 응답 예시 설명 담당자
기업 후기 목록 조회 GET /api/companies/{companyId}/review Path 없음 200 PageResponse<ReviewResponse> 기업 후기 목록 조회 @익명
기업 후기 상세 조회 GET /api/companies/{companyId}/review/{reviewId} Path 없음 200, 404 ReviewResponse 후기 상세 조회 @익명
기업 후기 등록 POST /api/companies/{companyId}/review Body json { "title": "면접 후기", "position": "백엔드", "stage": "1차", "result": "합격", "content": "내용" } 201, 400, 401 ReviewResponse 기업 후기 등록 @익명
기업 후기 수정 PUT /api/companies/{companyId}/review/{reviewId} Body 수정 JSON 200, 403, 404 ReviewResponse 기업 후기 수정 @익명
기업 후기 삭제 DELETE /api/companies/{companyId}/review/{reviewId} Path 없음 204 없음 기업 후기 삭제 @익명
내 기업 후기 조회 GET /api/companies/{companyId}/review/me Query page, size, keyword 200 PageResponse<ReviewResponse> 로그인 사용자 후기 조회 @익명

📝 File (이미지 업로드 API)

API 이름 Method URL 요청 파라미터 요청 예시 응답 코드 응답 예시 설명 담당자
이미지 업로드 POST /api/files/image multipart/form-data file 200, 400 json { "imageUrl": "url" } 이미지 업로드 @익명
이미지 수정 PUT /api/files/image Query + multipart imageUrl, file 200, 400 json { "imageUrl": "new-url" } 기존 이미지 교체 @익명
이미지 삭제 DELETE /api/files/image Query(imageUrl) 없음 204, 400 없음 이미지 삭제 @익명