ABCDEFGHIJKLMNOPQRST
1
API 명세서
2
3
4
IndexMethodURIDescriptionRequestResponse
5
USER01POST/accounts/signup회원가입{
"email": "test@gmail.com",
"password": "test1234",
"nickname": "test"
}
응답코드 : 201
6
USER02POST/accounts/login로그인{
"email": "test@gmail.com",
"password": "test1234"
}
응답코드 : 200
7
USER03POST/accounts/logout로그아웃응답코드 : 200
8
USER04POST/auth/issue액세스 토큰 재발급{
"refresh" : "리프레시 토큰",

"expAccess" : "만료된 액세스 토큰"
}
응답코드 : 200
* 헤더에 새로 발급된 토큰 들어가있음
9
USER05POST/accounts/sendMail?email=비밀번호 재설정 메일 보내기응답코드 : 200
10
USER06PATCH/accounts/{accountId}회원 정보 수정(닉네임, 비밀번호, 프로필 이미지){
"nickname":"닉네임",
"password":"비밀번호",
"imageUrl":"이미지Url.png",
"imageName":"이미지이름.png"
}
{
"imageUrl": "
http://example.com/images/default-profile.png",
"email": "test@test.com",
"nickname": "test"
}
11
USER07DELETE/accounts/{accountId}회원 탈퇴응답코드 : 200
12
USER08GET/mypages/summary/{accountId}마이페이지 - 내가 쓴 글 조회(요약){
"teamBoards": [
{
"teamBoardId": 1,
"title": "autoincrement 테스트",
"position": "백엔드",
"keywords": [],
"accountId": 2,
"createdAt": "2023-09-13T17:44:36.538619",
"modifiedAt": "2023-09-13T17:44:36.538619"
},
...
],
"memberBoards": [
{
"memberBoardId": 1,
"title": "제목2",
"content": "내용2",
"status": "모집중",
"views": 0,
"position": "백엔드 3명, 프론트엔드 2명",
"writerNickName": "112233",
"writerImageURL": "http://example.com/images/default-profile.png",
"replyList": [
{
...
},
],
"techTagList": [
...
],
"startDate": "2023-01-18T11:22:33",
"endDate": "2023-01-18T11:22:33",
"createdAt": "2023-09-13T06:25:26",
"modifiedAt": "2023-09-13T07:50:16.913487"
}
...
]
}
13
GET/mypages/profile/{accountId}마이 페이지 - 프로필 열람.
14
USER09PATCH/mypages/profile/{accountId}마이 페이지 - 프로필 수정{
"accountId" : 1,
"coverLetter" : "자기소개",
"techTags": [ 1, 3 ],
"softSkills": [
"팀 협업",
"문제 해결"
],
"hardSkills": [
"웹 개발"
]
}
{
"imageUrl": "http://example.com/images/default-profile.png",
"email": "test@test.com",
"nickname": "test",
"coverLetter": "자기소개",
"techTags": [
{
"id": 1,
"techName": "Java",
"tagType": "BACK_END"
},
{
"id": 3,
"techName": "Nodejs",
"tagType": "BACK_END"
}
],
"softSkills": [
"팀 협업",
"문제 해결"
],
"hardSkills": [
"웹 개발"
],
"projectDetails": [
{
"projectTitle": "",
"projectUrl": "",
"imageUrl": ""
},
{
"projectTitle": "",
"projectUrl": "",
"imageUrl": ""
}
]
}
15
USER10POST/mypages/profile/projectDetails마이페이지 - 참여한 프로젝트 등록{
"projectTitle": "프로젝트 제목",
"projectUrl": "http://example.com/project",
"uploadImage": {
"imageName": "이미지 이름",
"imageUrl": "http://example.com/image.jpg",
}
}

{
"projectDetailId": 4,
"accountProfileId": 1,
"accountId": 3,
"projectTitle": "프로젝트 제목",
"projectUrl": "http://example.com/project",
"imageUrl": "http://example.com/images/default-profile.png"
}
16
USER11DELETE/mypages/profile//projectDetails/{project-detail-id}마이페이지 - 참여 프로젝트 삭제204 No Content
17
IMAGE01POST/S3/image프로필이미지 업로드form-data
- multipartFile[key] : 이미지.png[value]
{
"imageName": "default-profile.png",
"imageUrl": "http://example.com/images/default-profile.png",
"createdAt": "2023-09-17T21:15:26.130758",
}
18
19
IMAGE02POST/S3/projectImage프로젝트 이미지 업로드form-data
- multipartFile[key] : 이미지.png[value]
"imageName": "default-profile.png",
"imageUrl": "
http://example.com/images/default-profile.png",
"imageType": "PROJECT_IMG",
"createdAt": "2023-09-19T02:15:37.795569",
20
TEAM01POST/teamboards팀 찾기 게시글 작성{
"title": "팀찾기",
"position": "프론트엔드",
"keywords": ["교육", "미디어"],
"techTagIdList" : [1,2]
}
201 Created
21
TEAM02PATCH/teamboards/{teamBoardId}팀 찾기 게시글 수정{
"title": "팀찾아요",
"position": "프론트엔드",
"keywords": ["java"],
"techTagIdList": [6,7]
}
{
"teamBoardId": 5,
"title": "팀찾기",
"position": "프론트엔드",
"nickname": "aa",
"keywords": [
"디자인"
],
"techTagList": [
"6:null",
"7:null"
],
"accountId": 1,
"teamBoardImageUrl": "http://example.com/images/default-profile.png",
"createdAt": "2023-09-19T12:14:37",
"modifiedAt": "2023-09-19T14:31:46.6842188"
}
22
TEAM03DELETE/teamboards/{teamBoardId}팀 찾기 게시글 삭제204 No Content
23
TEAM04GET/teamboards/{teamBoardId}팀 찾기 게시글 1개 조회{
"teamBoardId": 3,
"title": "0917_테스트_2",
"position": "프론트엔드",
"nickname": "cc",
"keywords": [
"모바일",
"교육"
],
"techTagList": [
"12:FireBase",
"13:Ruby"
],
"accountId": 3,
"teamBoardImageUrl": "http://example.com/images/default-profile.png",
"createdAt": "2023-09-17T22:12:00",
"modifiedAt": "2023-09-17T22:12:00"
}
24
TEAM05GET/teamboards/?page={pageNum}팀 찾기 게시글 리스트 조회{
"data": [
{
"teamBoardId": 6,
"title": "0919_테스트_1",
"position": "백엔드",
"nickname": "aa",
"keywords": [
"모바일",
"교육"
],
"techTagList": [
"2:Spring",
"3:Nodejs"
],
"accountId": 1,
"teamBoardImageUrl": "http://example.com/images/default-profile.png",
"createdAt": "2023-09-19T12:17:37",
"modifiedAt": "2023-09-19T12:17:37"
},
{
"teamBoardId": 5,
"title": "팀찾기",
"position": "프론트엔드",
"nickname": "aa",
"keywords": [
"디자인"
],
"techTagList": [
"6:MySQL",
"7:MongoDB"
],
"accountId": 1,
"teamBoardImageUrl": "http://example.com/images/default-profile.png",
"createdAt": "2023-09-19T12:14:37",
"modifiedAt": "2023-09-19T14:31:47"
}
],
"pageInfo": {
"page": 1,
"size": 10,
"totalElements": 2,
"totalPages": 1
}
}
25
TEAM06GET/teamboards/search?page=1&size=10&title&position=백팀 찾기 게시글 검색{
"data": [
{
"teamBoardId": 11,
"title": "팀찾기",
"position": "백엔드",
"nickname": "cc",
"keywords": [
"개발",
"모바일"
],
"techTagList": [
"6:MySQL",
"7:MongoDB"
],
"accountId": 1,
"teamBoardImageUrl": "http://example.com/images/default-profile.png",
"createdAt": "2023-09-19T12:14:37",
"modifiedAt": "2023-09-19T14:31:47"
},
"accountId": 3,
"createdAt": "2023-09-14T17:35:50",
"modifiedAt": "2023-09-14T17:35:50"
},
{
"teamBoardId": 4,
"title": "팀찾기",
"position": "백엔드",
"nickname": "cc",
"keywords": [
"자바",
"스프링"
],
"techTagList": [
"12:FireBase",
"19:React"
],
"accountId": 3,
"teamBoardImageUrl": "http://example.com/images/default-profile.png",
"createdAt": "2023-09-17T22:12:04",
"modifiedAt": "2023-09-17T22:12:04"
}
"accountId": 3,
"createdAt": "2023-09-13T00:08:26",
"modifiedAt": "2023-09-14T01:26:59"
}
],
"pageInfo": {
"page": 1,
"size": 10,
"totalElements": 2,
"totalPages": 1
}
}
26
MEM01POST/memberboards팀원 찾기 게시글 작성{
"title" : "제목",
"content" : "내용",
"status" : 0,
"position" : "백엔드 1명, 프론트엔드 2명",
"techTagIdList" : [1,2,3],
"startDate" : "2023-01-18T11:22:33",
"endDate" : "2023-01-18T11:22:33"
}
201 Created
27
MEM02PATCH/memberboards/{memberId}팀원 찾기 게시글 수정{
"title" : "제목",
"content" : "수정",
"status" : 0,
"position" : "백엔드 1명, 프론트엔드 2명",
"techTagIdList" : [1,2],
"startDate" : "2023-01-18T11:22:33",
"endDate" : "2023-01-18T11:22:33"
}
{
"memberBoardId": 1,
"title": "제목2",
"content": "내용2",
"status": "모집중",
"views": 0,
"position": "백엔드 3명, 프론트엔드 2명",
"writerNickName": "112233",
"writerImageURL": "
http://example.com/images/default-profile.png",
"replyList": [
{
"replyId": 1,
"writerId": 1,
"writerNickName": "112233",
"writerImageURL": "http://example.com/images/default-profile.png",
"content": "댓글 수정",
"acceptType": "ACCEPT",
"createAt": "2023-09-13T06:25:42",
"apply": true
},
{
"replyId": 2,
"writerId": 1,
"writerNickName": "112233",
"writerImageURL": "http://example.com/images/default-profile.png",
"content": "그냥 댓글",
"acceptType": "REFUSE",
"createAt": "2023-09-13T07:40:20",
"apply": false
}
],
"techTagList": [
null,
null
],
"startDate": "2023-01-18T11:22:33",
"endDate": "2023-01-18T11:22:33",
"createdAt": "2023-09-13T06:25:26",
"modifiedAt": "2023-09-13T07:50:16.913487"
}
28
MEM03DELETE/memberboards/{memberId}팀원 찾기 게시글 삭제204 No Content
29
MEM04GET/memberboards/{memberId}팀원 찾기 게시글 열람"memberBoardId": 1,
"title": "제목2",
"content": "내용2",
"status": "모집중",
"views": 0,
"position": "백엔드 3명, 프론트엔드 2명",
"writerNickName": "1223344",
"writerImageURL": "http://example.com/images/default-profile.png",
"replyList": [
{
"replyId": 1,
"writerId": 1,
"writerNickName": "1223344",
"writerImageURL": "http://example.com/images/default-profile.png",
"content": "댓글",
"acceptType": "NONE",
"createAt": "2023-09-13T10:19:42",
"apply": false
},
{
"replyId": 2,
"writerId": 1,
"writerNickName": "1223344",
"writerImageURL": "http://example.com/images/default-profile.png",
"content": "지원 댓글",
"acceptType": "ACCEPT",
"createAt": "2023-09-13T13:09:24",
"apply": true
},
...
],
"techTagList": [
"Java",
"Spring"
],
"startDate": "2023-01-18T20:22:33",
"endDate": "2023-01-18T20:22:33",
"createdAt": "2023-09-13T10:19:14",
"modifiedAt": "2023-09-13T10:19:14"
30
MEM05GET/memberboards?page={pageNum}&size={sizenum}팀원 찾기 게시글 리스트 열람{
"data": [
{
"memberBoardId": 2,
"title": "제목",
"content": "내용",
"status": "모집중",
"views": 0,
"position": "백엔드 1명, 프론트엔드 2명",
"writerId": 1,
"writerNickName": "112233",
"writerImageURL": "http://example.com/images/default-profile.png",
"replyList": [],
"techTagList": [],
"startDate": "2023-01-18T11:22:33",
"endDate": "2023-01-18T11:22:33",
"createdAt": "2023-09-15T08:25:12",
"modifiedAt": "2023-09-15T08:25:12"
},
{
"memberBoardId": 1,
"title": "제목2",
"content": "내용2",
"status": "모집중",
"views": 0,
"position": "백엔드 3명, 프론트엔드 2명",
"writerNickName": "1223344",
"writerImageURL": "http://example.com/images/default-profile.png",
"replyList": [
{
"replyId": 1,
"writerId": 1,
"writerNickName": "1223344",
"writerImageURL":"http://example.com/images/default-profile.png",
"content": "댓글",
"acceptType": "NONE",
"createAt": "2023-09-13T10:19:42",
"apply": false
},
{
"replyId": 2,
"writerId": 1,
"writerNickName": "1223344",
"writerImageURL":"http://example.com/images/default-profile.png",
"content": "지원 댓글",
"acceptType": "ACCEPT",
"createAt": "2023-09-13T13:09:24",
"apply": true
},
{
"replyId": 3,
"writerId": 1,
"writerNickName": "1223344",
"writerImageURL":"http://example.com/images/default-profile.png",
"content": "그냥 댓글",
"acceptType": "REFUSE",
"createAt": "2023-09-13T13:09:32",
"apply": false
}
],
"techTagList": [
"Java",
"Spring"
],
"startDate": "2023-01-18T20:22:33",
"endDate": "2023-01-18T20:22:33",
"createdAt": "2023-09-13T10:19:14",
"modifiedAt": "2023-09-13T10:19:14"
}
],
"pageInfo": {
"page": 1,
"size": 10,
"totalElements": 2,
"totalPages": 1
}
}
31
MEM06GET/memberBoards/view?page={pagenum}&size={sizenum}조회수순으로 정렬{
"data": [
{
"memberBoardId": 1,
"title": "제목",
"content": "내용",
"status": "모집중",
"views": 1,
"position": "백엔드 1명, 프론트엔드 2명",
"writerId": 1,
"writerNickName": "112233",
"writerImageURL":"http://example.com/images/default-profile.png",
"replyList": [
...
],
"techTagList": [
"1:Java",
"2:Spring",
"3:Nodejs"
],
"startDate": "2023-01-18T20:22:33",
"endDate": "2023-01-18T20:22:33",
"createdAt": "2023-09-15T13:10:06",
"modifiedAt": "2023-09-16T23:23:23"
},
...
{
"memberBoardId": 22,
"title": "16일벌써오후4시두번째테스트글입니다",
"content": "16일벌써오후4시두번째테스트글입니다",
"status": "모집중",
"views": 0,
"position": "프론트엔드 2명",
"writerId": 6,
"writerNickName": "test123",
"writerImageURL": "http://example.com/images/default-profile.png",
"replyList": [],
"techTagList": [
"1:Java",
"2:Spring",
"3:Nodejs"
],
"startDate": "2023-09-18T20:22:33",
"endDate": "2023-10-28T20:22:33",
"createdAt": "2023-09-16T16:13:36",
"modifiedAt": "2023-09-16T16:13:36"
},
...
],
"pageInfo": {
"page": 1,
"size": 10,
"totalElements": 26,
"totalPages": 3
}
}
32
MEM07GET
/memberBoards/serch?position={position keyword}&page={pagenum}&size={sizenum}
/memberBoards/serch?title={title keyword}&page={pagenum}&size={sizenum}
제목 검색, 포지션 검색제목 검색

{
"data": [
{
"memberBoardId": 33,
"title": "제목",
"content": "내용",
"status": "모집중",
"views": 0,
"position": "백엔드 1명, 프론트엔드 2명",
"writerId": 1,
"writerNickName": "112233",
"writerImageURL": "http://example.com/images/default-profile.png",
"replyList": [],
"techTagList": [
"1:Java",
"2:Spring",
"3:Nodejs"
],
"startDate": "2023-01-18T11:22:33",
"endDate": "2023-01-18T11:22:33",
"createdAt": "2023-09-16T20:27:48",
"modifiedAt": "2023-09-16T20:27:48"
},
{
"memberBoardId": 28,
"title": "제목입니다.",
"content": "<p>내용입니다.</p>",
"status": "모집중",
"views": 0,
"position": "프론트엔드 1명",
"writerId": 6,
"writerNickName": "test123",
"writerImageURL": "http://example.com/images/default-profile.png",
"replyList": [],
"techTagList": [
"1:Java",
"3:Nodejs"
],
"startDate": "2023-09-16T09:00:00",
"endDate": "2023-12-31T09:00:00",
"createdAt": "2023-09-16T16:54:16",
"modifiedAt": "2023-09-16T16:54:16"
},
],
"pageInfo": {
"page": 1,
"size": 10,
"totalElements": 2,
"totalPages": 1
}
}

포지션 검색

{
"data": [
{
"memberBoardId": 33,
"title": "제목",
"content": "내용",
"status": "모집중",
"views": 0,
"position": "백엔드 1명, 프론트엔드 2명",
"writerId": 1,
"writerNickName": "112233",
"writerImageURL": "http://example.com/images/default-profile.png",
"replyList": [],
"techTagList": [
"1:Java",
"2:Spring",
"3:Nodejs"
],
"startDate": "2023-01-18T11:22:33",
"endDate": "2023-01-18T11:22:33",
"createdAt": "2023-09-16T20:27:48",
"modifiedAt": "2023-09-16T20:27:48"
},
{
"memberBoardId": 2,
"title": "테스트글입니다123",
"content": "<p>test</p>",
"status": "모집중",
"views": 0,
"position": "백엔드 1명",
"writerId": 6,
"writerNickName": "test123",
"writerImageURL": "
http://example.com/images/default-profile.png",
"replyList": [
{
"replyId": 17,
"writerId": 1,
"writerNickName": "112233",
"content": "accept 확인용",
"acceptType": "ACCEPT",
"createAt": "2023-09-16T21:43:19",
"apply": true
}
],
"techTagList": [],
"startDate": "2023-09-15T09:00:00",
"endDate": "2023-12-31T09:00:00",
"createdAt": "2023-09-15T13:55:49",
"modifiedAt": "2023-09-15T13:55:49"
},
],
"pageInfo": {
"page": 1,
"size": 10,
"totalElements": 2,
"totalPages": 1
}
}
33
MEM08GET
/memberBoards/view/serch?position={position keyword}&page={pagenum}&size={sizenum}
/memberBoards/view/serch?title={title keyword}&page={pagenum}&size={sizenum}
검색 + 조회수순으로 정렬{title keyword} = 제목

{
"data": [
{
"memberBoardId": 1,
"title": "제목",
"content": "내용",
"status": "모집중",
"views": 2,
"position": "백엔드 1명, 프론트엔드 2명",
"writerId": 1,
"writerNickName": "112233",
"writerImageURL": "http://example.com/images/default-profile.png",
"replyList": [
...
],
"techTagList": [
...
],
"startDate": "2023-01-18T20:22:33",
"endDate": "2023-01-18T20:22:33",
"createdAt": "2023-09-15T13:10:06",
"modifiedAt": "2023-09-17T18:33:21"
},
{
"memberBoardId": 33,
"title": "제목",
"content": "수정",
"status": "모집중",
"views": 1,
"position": "백엔드 1명, 프론트엔드 2명",
"writerId": 1,
"writerNickName": "112233",
"writerImageURL": "http://example.com/images/default-profile.png",
"replyList": [],
"techTagList": [
...
],
"startDate": "2023-01-18T11:22:33",
"endDate": "2023-01-18T11:22:33",
"createdAt": "2023-09-16T20:27:48",
"modifiedAt": "2023-09-17T14:57:43"
},
{
"memberBoardId": 32,
"title": "제목",
"content": "내용",
"status": "모집중",
"views": 1,
"position": "백엔드 1명, 프론트엔드 2명",
"writerId": 1,
"writerNickName": "112233",
"writerImageURL": "http://example.com/images/default-profile.png",
"replyList": [],
"techTagList": [
...
],
"startDate": "2023-01-18T11:22:33",
"endDate": "2023-01-18T11:22:33",
"createdAt": "2023-09-16T20:19:14",
"modifiedAt": "2023-09-17T14:11:46"
},
{
"memberBoardId": 28,
"title": "제목입니다.",
"content": "<p>내용입니다.</p>",
"status": "모집중",
"views": 0,
"position": "프론트엔드 1명",
"writerId": 6,
"writerNickName": "test123",
"writerImageURL": "http://example.com/images/default-profile.png",
"replyList": [],
"techTagList": [
...
],
"startDate": "2023-09-16T09:00:00",
"endDate": "2023-12-31T09:00:00",
"createdAt": "2023-09-16T16:54:16",
"modifiedAt": "2023-09-16T16:54:16"
}
],
"pageInfo": {
"page": 1,
"size": 8,
"totalElements": 4,
"totalPages": 1
}
}
34
MEM09POST/replys댓글 작성{
"content" : "댓글 매핑확인",
"isApply" : false,
"memberBoardId" : 15
}
201 Created
35
MEM10PATCH/replys/{replyId}댓글 내용 수정{
"content" : "댓글 수정",
}
{
"replyId": 1
"content": "댓글 수정",
"isApply": false,
"writerNickName": "112233",
"writerImageURL": "http://example.com/images/default-profile.png",
"acceptType": "NONE"
"createdAt": "2023-09-13T15:25:42",
"modifiedAt": "2023-09-13T16:48:41.1884752"
}
36
MEM11PATCH/replys/accept/{replyId}댓글 수락,거절 수정{
"acceptType" : 2,
"alarmType" : 0
}
{
"replyId": 14,
"content": "댓글 수정",
"isApply": false,
"writerNickName": "112233",
"writerImageURL": "http://example.com/images/default-profile.png",
"acceptType": "REFUSE",
"createdAt": "2023-09-16T21:08:29",
"modifiedAt": "2023-09-16T21:13:52"
}
37
MEM12DELETE/replys/{replyId}댓글 삭제204 No Content
38
ALRAM01PATCH/alarms알람 전체 읽음처리 수정200 OK
39
ALRAM02PATCH/alarms/{alarmId}각각 알람 읽음처리 수정{
"acceptType" : 2,
"alarmType" : 0
}
200 OK
40
ALRAM03GET/alarms본인 아이디의 알람 열람[
{
"alarmId": 1,
"alarmType": "ACCEPT",
"writerNickname": "112233",
"writerId": 1,
"title": "테스트글입니다123",
"memberBoardId": 2,
"checked": true
},
{
"alarmId": 2,
"alarmType": "ACCEPT",
"writerNickname": "112233",
"writerId": 1,
"title": "테스트글입니다123",
"memberBoardId": 4,
"checked": false
}
]
41
REVIEW01GETmypages/reviews/authorize리뷰작성자 검증{
"revieweeId": 2,
"memberBoardId": 1
}
{
"authorize": false
}
42
REVIEW02POSTmypages/reviews/{revieweeId}리뷰 작성{
"title": "프로젝트A",
"projectUrl": "https://www.google.com",
"intro": "A프로젝트 팀원",
"content": "착해요",
"reviewerId": 3,
"revieweeId": 1
}
201 Created
43
REVIEW03GETmypages/reviews/{revieweeId}리뷰 검색[
{
"reviewId": 1,
"title": "프로젝트A",
"projectUrl": "https://www.google.com",
"intro": "A프로젝트 팀원",
"content": "착해요",
"reviewerId": 3,
"reviewerNickname": "cc",
"reviewerImageUrl": "http://example.com/images/default-profile.png",
"revieweeId": 1,
"revieweeNickname": "aa",
"createdAt": "2023-09-17T22:20:17"
}
]
44
TECH01GET/tags/tech기술 태그 리스트 열람[
{
"id": 1,
"name": "Java",
"tagType": "BACK_END"
},
{
"id": 2,
"name": "Spring",
"tagType": "BACK_END"
},
{
"id": 3,
"name": "Nodejs",
"tagType": "BACK_END"
}
...
{
"id": 32,
"name": "C",
"tagType": "ETC"
}
]
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100