11조 미프 5차, 도서 구독, 소장 서비스 API 명세서

네, Gitpod 환경에서 axios를 사용하는 방식 (baseURL에 게이트웨이 주소를 설정하고, 개별 API 호출 시에는 상대 경로를 사용하는 방식)을 고려하여 API 맵에서 http://localhost:8088 부분을 제거하고 상대 경로로만 표시해 드릴게요.

이렇게 하면 프론트엔드 코드에서 apiClient를 통해 호출할 때 baseURL과 합쳐져서 완전한 URL이 됩니다.


authormanage 바운더리 컨텍스트 API 맵

구분 API 설명 HTTP 메서드 경로 요청 본문 (예시) 응답 본문 (예시) (성공 시) 비고
작가 가입 POST /authors {"name": "새작가", "loginId": "new_author", "password": "pass", "portfolioUrl": "<http://new.com>"} {"authorId": 1, "name": "새작가", "loginId": "new_author", "isApproved": false, ...} 기본 POST
회원정보 수정 PATCH /authors/{authorId} {"name": "수정작가", "portfolioUrl": "<http://updated.com>"} {"authorId": 1, "name": "수정작가", ...} 기본 PATCH
회원정보 삭제 DELETE /authors/{authorId} 없음 {"message": "작가가 삭제되었습니다."} 기본 DELETE
작가 정보 조회 GET /authors/{authorId} 없음 {"authorId": 1, "name": "김작가", "isApproved": true, ...} (API 목록에 없었지만, 확인을 위해 추가)
전체 작가목록 조회 GET /authors 없음
관리자 등록 승인 PUT /authors/{authorId}/approve 없음 {"authorId": 1, "name": "새작가", "isApproved": true, ...} isApproved 상태를 true로 변경
등록 거절 PUT /authors/{authorId}/disapprove 없음 {"authorId": 1, "name": "새작가", "isApproved": false, ...} isApproved 상태를 false로 변경

writemanage 바운더리 컨텍스트 API 맵 (Aggregates: Writing, ReadModel: ApprovalAuthor)

writemanage 바운더리 컨텍스트는 글(Writing) 작성 및 관리, 그리고 책 등록 기능을 담당합니다. 또한, 작가 승인 정보(ApprovalAuthor) 조회를 위한 ReadModel도 포함합니다. API 게이트웨이(axios.createbaseURL)가 이미 설정되어 있으므로, 각 API는 상대 경로로 표시됩니다.

구분 API 설명 HTTP 메서드 경로 요청 본문 (예시) 응답 본문 (예시) (성공 시) 비고
글 작성 POST /writings {"authorId": 1, "title": "새로운 글", ...} {"bookId": 1, "title": "새로운 글", ...} 기본 POST
글 수정 PUT /writings/{bookId} {"title": "수정된 제목", "context": "..."} {"bookId": 1, "title": "수정된 제목", ...} 확장 PUT (전체 업데이트)
글 삭제 DELETE /writings/{bookId} 없음 {"message": "글이 삭제되었습니다."} 기본 DELETE
책 등록 (출간) PUT /writings/{bookId}/registbook 없음 {"bookId": 1, "registration": true, ...} registration 상태를 true로 변경
내 글 목록 조회 GET /writings/my 없음 [{"bookId": 1, ...}, {"bookId": 3, ...}]
글 정보 조회 GET /writings/{bookId} 없음 {"bookId": 1, "title": "책 제목", ...}
승인 작가 승인된 작가 정보 조회 GET /approvalauthors/{authorId} 없음 {"authorId": 1, "isApproved": true, ...} 특정 작가의 승인 상태 및 이름 조회
승인된 작가 목록 조회 GET /approvalauthors 없음 [{"authorId": 1, ...}, {"authorId": 2, ...}] 모든 승인된 작가 목록 조회

네, 확인했습니다. ai 바운더리 컨텍스트의 API 명세에서 '문서 요약(ContentAnalyzer)' 기능이 빠져있네요.

말씀하신 대로 ContentAnalyzer 애그리거트 속성을 참고하여 아래 표에 내용을 추가하고 완성했습니다.