1. 게시판
1.1. 게시판 목록 조회
1.1.1. HTTP request
GET /boards HTTP/1.1
Host: api.ssafsound.com
Cookie: accessToken=accessTokenValue
1.1.2. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 482
{
"code" : "200",
"message" : "success",
"data" : {
"boards" : [ {
"boardId" : 1,
"title" : "자유 게시판",
"imageUrl" : "IMAGE URL",
"usedBoard" : true,
"description" : "자유롭게 떠드는 공간입니다."
}, {
"boardId" : 2,
"title" : "취업 게시판",
"imageUrl" : "IMAGE URL",
"usedBoard" : true,
"description" : "취업에 대한 정보를 공유해보세요."
} ]
}
}
1.1.3. Cookie
Cookie | Description |
---|---|
accessToken |
액세스 토큰 불필요 |
1.1.4. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
|
|
게시판 목록 |
|
|
게시판 목록의 ID |
|
|
게시판 목록의 제목, 자유 게시판 | 취업 게시판 | 맛집 게시판 | 질문 게시판 | 싸피 예비생 게시판 |
|
|
게시판 배너 이미지 |
|
|
게시판 사용 여부 |
|
|
게시판의 특성을 설명해주는 설명문 |
2. 게시글
2.1. 전체 게시글 목록 조회(Offset)
2.1.1. HTTP request
GET /posts/all/offset?page=1&size=10 HTTP/1.1
Host: api.ssafsound.com
Cookie: accessToken=accessTokenValue
2.1.2. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 972
{
"code" : "200",
"message" : "success",
"data" : {
"posts" : [ {
"boardId" : 1,
"boardTitle" : "취업 게시판",
"postId" : 6,
"title" : "안녕하세요 반갑습니다.",
"content" : "SSAFY 9기 합격했습니다!!",
"likeCount" : 3,
"commentCount" : 2,
"createdAt" : "2023-12-30T20:26:12.5638994",
"nickname" : "이용준",
"anonymity" : false,
"thumbnail" : "썸네일 URL"
}, {
"boardId" : 1,
"boardTitle" : "자유 게시판",
"postId" : 4,
"title" : "싸피 어떤가요??",
"content" : "저도 싸피에서 교육들으면 개발실력 엄청 오르겠죠?",
"likeCount" : 11,
"commentCount" : 29,
"createdAt" : "2023-12-30T20:26:12.5638994",
"nickname" : "이용준",
"anonymity" : false,
"thumbnail" : "썸네일 URL"
} ],
"currentPage" : 1,
"totalPageCount" : 1
}
}
2.1.3. Cookie
Cookie | Description |
---|---|
accessToken |
액세스 토큰 불필요 |
2.1.4. Request parameters
Parameter | Description |
---|---|
|
page값은 불러올 현재 페이지의 값을 의미함, 초기 page는 1(또는 첫 페이지는 1) |
|
현재 페이지의 게시글 개수를 의미함, 최소 size는 10 |
2.1.5. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
|
|
게시글 목록 |
|
|
현재 페이지 번호 |
|
|
전체 페이지 수 |
|
|
게시글이 작성된 게시판 종류의 ID |
|
|
게시글이 작성된 게시판의 종류, 자유 게시판 | 취업 게시판 | 맛집 게시판 | 질문 게시판 | 싸피 예비생 게시판 |
|
|
게시글의 고유 ID |
|
|
게시글의 제목 |
|
|
게시글의 내용 |
|
|
게시글의 좋아요 개수 |
|
|
게시글의 댓글 개수 |
|
|
게시글의 작성일 |
|
|
게시글 작성자의 닉네임 |
|
|
게시글 작성자의 익명 여부인지 나타내는 필드 |
|
|
게시판의 썸네일, 게시글의 사진이 여러개가 있을 때 첫 번째 사진이 해당 게시글의 썸네일이 됨. |
2.2. 게시글 목록 조회(Cursor)
2.2.1. HTTP request
GET /posts/cursor?boardId=1&cursor=-1&size=10 HTTP/1.1
Host: api.ssafsound.com
Cookie: accessToken=accessTokenValue
2.2.2. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 987
{
"code" : "200",
"message" : "success",
"data" : {
"posts" : [ {
"boardId" : 1,
"boardTitle" : "자유 게시판",
"postId" : 5,
"title" : "삼성 B형 시험을 준비하려면 뭘 해야할까요?",
"content" : "역시 B형 특강을 열심히 듣는게 맞나요?",
"likeCount" : 5,
"commentCount" : 14,
"createdAt" : "2023-12-30T20:26:12.5638994",
"nickname" : "익명",
"anonymity" : true,
"thumbnail" : "썸네일 URL"
}, {
"boardId" : 1,
"boardTitle" : "자유 게시판",
"postId" : 4,
"title" : "싸피 어떤가요??",
"content" : "저도 싸피에서 교육들으면 개발실력 엄청 오르겠죠?",
"likeCount" : 11,
"commentCount" : 29,
"createdAt" : "2023-12-30T20:26:12.5638994",
"nickname" : "이용준",
"anonymity" : false,
"thumbnail" : "썸네일 URL"
} ],
"cursor" : null
}
}
2.2.3. Cookie
Cookie | Description |
---|---|
accessToken |
액세스 토큰 불필요 |
2.2.4. Request parameters
Parameter | Description |
---|---|
|
조회하려는 게시글의 게시판 고유 ID |
|
cursor값은 다음 페이지를 가져올 마지막 페이지 번호를 의미함, 초기 cursor는 -1, 이후 cursor값은 응답 데이터로 제공되는 cursor값을 사용. |
|
cursor를 기준으로 다음에 불러올 페이지의 size를 의미, 최소 size는 10 |
2.2.5. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
|
|
게시글 목록 |
|
|
다음에 요청할 cursor값, 응답되는 cursor값이 null이면 다음 페이지는 없음을 의미 |
|
|
게시글이 작성된 게시판 종류의 ID |
|
|
게시글이 작성된 게시판의 종류, 자유 게시판 | 취업 게시판 | 맛집 게시판 | 질문 게시판 | 싸피 예비생 게시판 |
|
|
게시글의 고유 ID |
|
|
게시글의 제목 |
|
|
게시글의 내용 |
|
|
게시글의 좋아요 개수 |
|
|
게시글의 댓글 개수 |
|
|
게시글의 작성일 |
|
|
게시글 작성자의 닉네임 |
|
|
게시글 작성자의 익명 여부인지 나타내는 필드 |
|
|
게시판의 썸네일, 게시글의 사진이 여러개가 있을 때 첫 번째 사진이 해당 게시글의 썸네일이 됨. |
2.3. 게시글 목록 조회(Offset)
2.3.1. HTTP request
GET /posts/offset?boardId=1&page=1&size=10 HTTP/1.1
Host: api.ssafsound.com
Cookie: accessToken=accessTokenValue
2.3.2. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 1016
{
"code" : "200",
"message" : "success",
"data" : {
"posts" : [ {
"boardId" : 1,
"boardTitle" : "자유 게시판",
"postId" : 5,
"title" : "삼성 B형 시험을 준비하려면 뭘 해야할까요?",
"content" : "역시 B형 특강을 열심히 듣는게 맞나요?",
"likeCount" : 5,
"commentCount" : 14,
"createdAt" : "2023-12-30T20:26:12.5638994",
"nickname" : "익명",
"anonymity" : true,
"thumbnail" : "썸네일 URL"
}, {
"boardId" : 1,
"boardTitle" : "자유 게시판",
"postId" : 4,
"title" : "싸피 어떤가요??",
"content" : "저도 싸피에서 교육들으면 개발실력 엄청 오르겠죠?",
"likeCount" : 11,
"commentCount" : 29,
"createdAt" : "2023-12-30T20:26:12.5638994",
"nickname" : "이용준",
"anonymity" : false,
"thumbnail" : "썸네일 URL"
} ],
"currentPage" : 1,
"totalPageCount" : 1
}
}
2.3.3. Cookie
Cookie | Description |
---|---|
accessToken |
액세스 토큰 불필요 |
2.3.4. Request parameters
Parameter | Description |
---|---|
|
조회하려는 게시글의 게시판 고유 ID |
|
page값은 불러올 현재 페이지의 값을 의미함, 초기 page는 1(또는 첫 페이지는 1) |
|
현재 페이지의 게시글 개수를 의미함, 최소 size는 10 |
2.3.5. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
|
|
게시글 목록 |
|
|
현재 페이지 번호 |
|
|
전체 페이지 수 |
|
|
게시글이 작성된 게시판 종류의 ID |
|
|
게시글이 작성된 게시판의 종류, 자유 게시판 | 취업 게시판 | 맛집 게시판 | 질문 게시판 | 싸피 예비생 게시판 |
|
|
게시글의 고유 ID |
|
|
게시글의 제목 |
|
|
게시글의 내용 |
|
|
게시글의 좋아요 개수 |
|
|
게시글의 댓글 개수 |
|
|
게시글의 작성일 |
|
|
게시글 작성자의 닉네임 |
|
|
게시글 작성자의 익명 여부인지 나타내는 필드 |
|
|
게시판의 썸네일, 게시글의 사진이 여러개가 있을 때 첫 번째 사진이 해당 게시글의 썸네일이 됨. |
2.4. 게시글 상세 보기(실명)
2.4.1. HTTP request
GET /posts/1 HTTP/1.1
Host: api.ssafsound.com
Cookie: accessToken=accessTokenValue
2.4.2. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 875
{
"code" : "200",
"message" : "success",
"data" : {
"post" : {
"boardId" : 1,
"boardTitle" : "자유 게시판",
"postId" : 1,
"title" : "싸탈하고 싶다.",
"content" : "싸탈하고 싶은 밤이네요",
"likeCount" : 0,
"commentCount" : 0,
"scrapCount" : 0,
"createdAt" : null,
"anonymity" : false,
"modified" : false,
"scraped" : false,
"liked" : false,
"mine" : false,
"images" : [ ],
"author" : {
"memberId" : 99,
"nickname" : "KIM",
"memberRole" : "user",
"ssafyMember" : true,
"isMajor" : true,
"ssafyInfo" : {
"semester" : 9,
"campus" : "서울",
"certificationState" : "CERTIFIED",
"majorTrack" : "Java"
}
}
}
}
}
2.4.3. Cookie
Cookie | Description |
---|---|
accessToken |
액세스 토큰 옵션(쿠키 유무에 따라 다른 응답을 반환합니다.) |
2.4.4. Path parameters
Parameter | Description |
---|---|
|
조회할 게시글의 고유 ID |
2.4.5. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
|
|
게시글 정보 |
|
|
게시글이 작성된 게시판 종류의 ID |
|
|
게시글이 작성된 게시판의 종류, 자유 게시판 | 취업 게시판 | 맛집 게시판 | 질문 게시판 | 싸피 예비생 게시판 |
|
|
게시글의 고유 ID |
|
|
게시글의 제목, 길이제한 2 ~ 100 |
|
|
게시글의 내용, 최소길이 2 |
|
|
게시글의 좋아요 개수 |
|
|
게시글의 댓글 개수 |
|
|
게시글의 스크랩 개수 |
|
|
게시글의 작성일 |
|
|
게시글 작성자의 익명 여부인지 나타내는 필드 |
|
|
게시글이 수정되었는지 여부를 나타내는 필드 |
|
|
로그인한 사용자라면 자신이 해당 게시글을 스크랩 했는지 여부를 나타내는 필드 |
|
|
로그인한 사용자라면 자신이 해당 게시글을 좋아요 했는지 여부를 나타내는 필드 |
|
|
로그인한 사용자라면 이 게시글이 자신이 작성한 게시글인지 여부를 나타내는 필드 |
|
|
게시글의 이미지 정보 |
|
|
게시글 작성자의 정보 |
|
|
게시글의 이미지 URL, S3에 저장된 CDN 주소. |
|
|
게시글 작성자의 PK(단, 익명이면 -1) |
|
|
게시글 작성자의 닉네임 |
|
|
게시글 작성자의 사용자 권한 |
|
|
게시글 작성자가 SSAFY 유저인지 나타내는 필드 값 |
|
|
게시글 작성자가 전공자인지 여부, true면 전공자, false면 비전공자 |
|
|
게시글 작성자가 선택한 SSAFY 정보 단, SSAFY 인증을 받지 않아도, 해당 필드는 존재하지만 익명이면 null값이 들어감. |
|
|
작성자의 SSAFY 기수를 의미 |
|
|
작성자의 SSAFY 캠퍼스를 의미 |
|
|
작성자의 SSAFY 인증 여부를 의미함, CERTIFIED | UNCERTIFIED |
|
|
작성자의 전공트랙 정보를 의미, Java | Python | Mobile | Embedded |
2.5. 게시글 상세 보기(익명)
2.5.1. HTTP request
GET /posts/2 HTTP/1.1
Host: api.ssafsound.com
Cookie: accessToken=accessTokenValue
2.5.2. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 718
{
"code" : "200",
"message" : "success",
"data" : {
"post" : {
"boardId" : 1,
"boardTitle" : "자유 게시판",
"postId" : 2,
"title" : "삼성 B형을 봤는데",
"content" : "결과가 암울해",
"likeCount" : 0,
"commentCount" : 0,
"scrapCount" : 0,
"createdAt" : null,
"anonymity" : true,
"modified" : false,
"scraped" : false,
"liked" : false,
"mine" : true,
"images" : [ ],
"author" : {
"memberId" : -1,
"nickname" : "익명",
"memberRole" : null,
"ssafyMember" : null,
"isMajor" : null,
"ssafyInfo" : null
}
}
}
}
2.5.3. Cookie
Cookie | Description |
---|---|
accessToken |
액세스 토큰 옵션(쿠키 유무에 따라 다른 응답을 반환합니다.) |
2.5.4. Path parameters
Parameter | Description |
---|---|
|
조회할 게시글의 고유 ID |
2.5.5. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
|
|
게시글 정보 |
|
|
게시글이 작성된 게시판 종류의 ID |
|
|
게시글이 작성된 게시판의 종류, 자유 게시판 | 취업 게시판 | 맛집 게시판 | 질문 게시판 | 싸피 예비생 게시판 |
|
|
게시글의 고유 ID |
|
|
게시글의 제목, 길이제한 2 ~ 100 |
|
|
게시글의 내용, 최소길이 2 |
|
|
게시글의 좋아요 개수 |
|
|
게시글의 댓글 개수 |
|
|
게시글의 스크랩 개수 |
|
|
게시글의 작성일 |
|
|
게시글 작성자의 익명 여부인지 나타내는 필드 |
|
|
게시글이 수정되었는지 여부를 나타내는 필드 |
|
|
로그인한 사용자라면 자신이 해당 게시글을 스크랩 했는지 여부를 나타내는 필드 |
|
|
로그인한 사용자라면 자신이 해당 게시글을 좋아요 했는지 여부를 나타내는 필드 |
|
|
로그인한 사용자라면 이 게시글이 자신이 작성한 게시글인지 여부를 나타내는 필드 |
|
|
게시글의 이미지 정보 |
|
|
게시글 작성자의 정보 |
|
|
게시글의 이미지 URL, S3에 저장된 CDN 주소. |
|
|
게시글 작성자의 PK |
|
|
게시글 작성자의 닉네임 |
|
|
게시글 작성자의 사용자 권한 |
|
|
게시글 작성자가 SSAFY 유저인지 나타내는 필드 값 |
|
|
게시글 작성자가 전공자인지 여부, true면 전공자, false면 비전공자 |
|
|
게시글 작성자가 선택한 SSAFY 정보 단, SSAFY 인증을 받지 않아도, 해당 필드는 존재하지만 익명이면 null값이 들어감. |
|
|
작성자의 SSAFY 기수를 의미 |
|
|
작성자의 SSAFY 캠퍼스를 의미 |
|
|
작성자의 SSAFY 인증 여부를 의미함, CERTIFIED | UNCERTIFIED |
|
|
작성자의 전공트랙 정보를 의미, Java | Python | Mobile | Embedded |
2.6. 전체 게시글 검색(Offset)
2.6.1. HTTP request
GET /posts/all/search/offset?keyword=%EC%8B%B8%ED%94%BC&page=1&size=10 HTTP/1.1
Host: api.ssafsound.com
Cookie: accessToken=accessTokenValue
2.6.2. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 968
{
"code" : "200",
"message" : "success",
"data" : {
"posts" : [ {
"boardId" : 1,
"boardTitle" : "취업 게시판",
"postId" : 7,
"title" : "싸피는 뭐지",
"content" : "싸피는 취업 꿈나무를 위한 공간",
"likeCount" : 3,
"commentCount" : 2,
"createdAt" : "2023-12-30T20:26:12.5638994",
"nickname" : "이용준",
"anonymity" : false,
"thumbnail" : "썸네일 URL"
}, {
"boardId" : 1,
"boardTitle" : "자유 게시판",
"postId" : 4,
"title" : "싸피 어떤가요??",
"content" : "저도 싸피에서 교육들으면 개발실력 엄청 오르겠죠?",
"likeCount" : 11,
"commentCount" : 29,
"createdAt" : "2023-12-30T20:26:12.5638994",
"nickname" : "이용준",
"anonymity" : false,
"thumbnail" : "썸네일 URL"
} ],
"currentPage" : 1,
"totalPageCount" : 1
}
}
2.6.3. Cookie
Cookie | Description |
---|---|
accessToken |
액세스 토큰 불필요 |
2.6.4. Request parameters
Parameter | Description |
---|---|
|
검색하려는 게시글의 검색어, 최소 2글자 |
|
page값은 불러올 현재 페이지의 값을 의미함, 초기 page는 1(또는 첫 페이지는 1) |
|
현재 페이지의 게시글 개수를 의미함, 최소 size는 10 |
2.6.5. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
|
|
게시글 목록 |
|
|
현재 페이지 번호 |
|
|
전체 페이지 수 |
|
|
게시글이 작성된 게시판 종류의 ID |
|
|
게시글이 작성된 게시판의 종류, 자유 게시판 | 취업 게시판 | 맛집 게시판 | 질문 게시판 | 싸피 예비생 게시판 |
|
|
게시글의 고유 ID |
|
|
게시글의 제목 |
|
|
게시글의 내용 |
|
|
게시글의 좋아요 개수 |
|
|
게시글의 댓글 개수 |
|
|
게시글의 작성일 |
|
|
게시글 작성자의 닉네임 |
|
|
게시글 작성자의 익명 여부인지 나타내는 필드 |
|
|
게시판의 썸네일, 게시글의 사진이 여러개가 있을 때 첫 번째 사진이 해당 게시글의 썸네일이 됨. |
2.7. 게시글 검색(Cursor)
2.7.1. HTTP request
GET /posts/search/cursor?boardId=1&keyword=%EC%95%88%EB%85%95%ED%95%98%EC%84%B8%EC%9A%94&cursor=-1&size=10 HTTP/1.1
Host: api.ssafsound.com
Cookie: accessToken=accessTokenValue
2.7.2. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 511
{
"code" : "200",
"message" : "success",
"data" : {
"posts" : [ {
"boardId" : 1,
"boardTitle" : "취업 게시판",
"postId" : 6,
"title" : "안녕하세요 반갑습니다.",
"content" : "SSAFY 9기 합격했습니다!!",
"likeCount" : 3,
"commentCount" : 2,
"createdAt" : "2023-12-30T20:26:12.5638994",
"nickname" : "이용준",
"anonymity" : false,
"thumbnail" : "썸네일 URL"
} ],
"cursor" : null
}
}
2.7.3. Cookie
Cookie | Description |
---|---|
accessToken |
액세스 토큰 불필요 |
2.7.4. Request parameters
Parameter | Description |
---|---|
|
검색하려는 게시판 고유 ID |
|
검색하려는 게시글의 검색어, 최소 2글자 |
|
cursor값은 다음 페이지를 가져올 마지막 페이지 번호를 의미함, 초기 cursor는 -1, 이후 cursor값은 응답 데이터로 제공되는 cursor값을 사용. |
|
cursor를 기준으로 다음에 불러올 페이지의 size를 의미, 최소 size는 10 |
2.7.5. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
|
|
게시글 목록 |
|
|
다음에 요청할 cursor값, 응답되는 cursor값이 null이면 다음 페이지는 없음을 의미 |
|
|
게시글이 작성된 게시판 종류의 ID |
|
|
게시글이 작성된 게시판의 종류, 자유 게시판 | 취업 게시판 | 맛집 게시판 | 질문 게시판 | 싸피 예비생 게시판 |
|
|
게시글의 고유 ID |
|
|
게시글의 제목 |
|
|
게시글의 내용 |
|
|
게시글의 좋아요 개수 |
|
|
게시글의 댓글 개수 |
|
|
게시글의 작성일 |
|
|
게시글 작성자의 닉네임 |
|
|
게시글 작성자의 익명 여부인지 나타내는 필드 |
|
|
게시판의 썸네일, 게시글의 사진이 여러개가 있을 때 첫 번째 사진이 해당 게시글의 썸네일이 됨. |
2.8. 게시글 검색(Offset)
2.8.1. HTTP request
GET /posts/search/offset?boardId=1&keyword=%EC%95%88%EB%85%95%ED%95%98%EC%84%B8%EC%9A%94&page=1&size=10 HTTP/1.1
Host: api.ssafsound.com
Cookie: accessToken=accessTokenValue
2.8.2. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 540
{
"code" : "200",
"message" : "success",
"data" : {
"posts" : [ {
"boardId" : 1,
"boardTitle" : "취업 게시판",
"postId" : 6,
"title" : "안녕하세요 반갑습니다.",
"content" : "SSAFY 9기 합격했습니다!!",
"likeCount" : 3,
"commentCount" : 2,
"createdAt" : "2023-12-30T20:26:12.5638994",
"nickname" : "이용준",
"anonymity" : false,
"thumbnail" : "썸네일 URL"
} ],
"currentPage" : 1,
"totalPageCount" : 1
}
}
2.8.3. Cookie
Cookie | Description |
---|---|
accessToken |
액세스 토큰 불필요 |
2.8.4. Request parameters
Parameter | Description |
---|---|
|
검색하려는 게시판 고유 ID |
|
검색하려는 게시글의 검색어, 최소 2글자 |
|
page값은 불러올 현재 페이지의 값을 의미함, 초기 page는 1(또는 첫 페이지는 1) |
|
현재 페이지의 게시글 개수를 의미함, 최소 size는 10 |
2.8.5. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
|
|
게시글 목록 |
|
|
현재 페이지 번호 |
|
|
전체 페이지 수 |
|
|
게시글이 작성된 게시판 종류의 ID |
|
|
게시글이 작성된 게시판의 종류, 자유 게시판 | 취업 게시판 | 맛집 게시판 | 질문 게시판 | 싸피 예비생 게시판 |
|
|
게시글의 고유 ID |
|
|
게시글의 제목 |
|
|
게시글의 내용 |
|
|
게시글의 좋아요 개수 |
|
|
게시글의 댓글 개수 |
|
|
게시글의 작성일 |
|
|
게시글 작성자의 닉네임 |
|
|
게시글 작성자의 익명 여부인지 나타내는 필드 |
|
|
게시판의 썸네일, 게시글의 사진이 여러개가 있을 때 첫 번째 사진이 해당 게시글의 썸네일이 됨. |
2.9. 게시글 작성
2.9.1. HTTP request
POST /posts?boardId=1 HTTP/1.1
Content-Type: application/json
Content-Type: application/json
Content-Length: 170
Host: api.ssafsound.com
Cookie: accessToken=accessTokenValue
{
"title" : "안녕하세요 첫 글이네요",
"content" : "싸피도 드디어 익명 커뮤니티가 생기다니..",
"anonymity" : true,
"images" : [ ]
}
2.9.2. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 86
{
"code" : "200",
"message" : "success",
"data" : {
"postId" : 1
}
}
2.9.3. Cookie
Cookie | Description |
---|---|
accessToken |
액세스 토큰 필수 |
2.9.4. Request parameters
Parameter | Description |
---|---|
|
게시글을 작성할 게시판의 고유 ID |
2.9.5. Request fields
Path | Type | Description |
---|---|---|
|
|
게시글 제목 |
|
|
게시글 내용 |
|
|
게시글 작성자의 익명 여부를 나타내는 필드 |
|
|
게시글 사진 목록 |
|
|
s3에 저장된 경로를 의미하는 필드, s3에 저장된 데이터를 삭제할 때 사용 |
|
|
s3에 저장된 이미지를 CDN URL 주소로 가져오기 위한 필드, 해당 URL에 접근만 해도 이미지에 접근할 수 있는 경로를 의미 |
2.9.6. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
|
|
작성한 게시글 ID |
2.10. 게시글 수정
2.10.1. HTTP request
PATCH /posts/1 HTTP/1.1
Content-Type: application/json
Content-Type: application/json
Content-Length: 150
Host: api.ssafsound.com
Cookie: accessToken=accessTokenValue
{
"title" : "수정한 게시글의 제목",
"content" : "수정한 게시글의 내용입니다.",
"anonymity" : false,
"images" : [ ]
}
2.10.2. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 86
{
"code" : "200",
"message" : "success",
"data" : {
"postId" : 1
}
}
2.10.3. Cookie
Cookie | Description |
---|---|
accessToken |
액세스 토큰 필수 |
2.10.4. Path parameters
Parameter | Description |
---|---|
|
수정할 게시글의 고유 ID |
2.10.5. Request fields
Path | Type | Description |
---|---|---|
|
|
게시글 제목 |
|
|
게시글 내용 |
|
|
게시글 작성자의 익명 여부를 나타내는 필드 |
|
|
게시글 사진 목록 |
|
|
s3에 저장된 경로를 의미하는 필드, s3에 저장된 데이터를 삭제할 때 사용 |
|
|
s3에 저장된 이미지를 CDN URL 주소로 가져오기 위한 필드, 해당 URL에 접근만 해도 이미지에 접근할 수 있는 경로를 의미 |
2.10.6. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
|
|
수정한 게시글 ID |
2.11. 게시글 삭제
2.11.1. HTTP request
DELETE /posts/1 HTTP/1.1
Host: api.ssafsound.com
Cookie: accessToken=accessTokenValue
2.11.2. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 86
{
"code" : "200",
"message" : "success",
"data" : {
"postId" : 1
}
}
2.11.3. Cookie
Cookie | Description |
---|---|
accessToken |
액세스 토큰 필수 |
2.11.4. Path parameters
Parameter | Description |
---|---|
|
삭제할 게시글의 고유 ID |
2.11.5. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
|
|
삭제한 게시글 ID |
2.12. 게시글 좋아요
2.12.1. HTTP request
POST /posts/1/like HTTP/1.1
Host: api.ssafsound.com
Cookie: accessToken=accessTokenValue
2.12.2. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 111
{
"code" : "200",
"message" : "success",
"data" : {
"likeCount" : 10,
"liked" : true
}
}
2.12.3. Cookie
Cookie | Description |
---|---|
accessToken |
액세스 토큰 필수 |
2.12.4. Path parameters
Parameter | Description |
---|---|
|
좋아요를 누를 게시글 고유 ID |
2.12.5. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
|
|
좋아요를 클릭 한 후 현재 게시글의 좋아요 개수 |
|
|
해당 게시글의 좋아요를 눌렀는지 여부, true면 좋아요 등록, false면 좋아요 취소 |
2.13. 게시글 스크랩
2.13.1. HTTP request
POST /posts/1/scrap HTTP/1.1
Host: api.ssafsound.com
Cookie: accessToken=accessTokenValue
2.13.2. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 114
{
"code" : "200",
"message" : "success",
"data" : {
"scrapCount" : 9,
"scraped" : false
}
}
2.13.3. Cookie
Cookie | Description |
---|---|
accessToken |
액세스 토큰 필수 |
2.13.4. Path parameters
Parameter | Description |
---|---|
|
스크랩을 누를 게시글 고유 ID |
2.13.5. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
|
|
스크랩을 클릭 한 후 현재 게시글의 스크랩 개수 |
|
|
해당 게시글의 스크랩을 눌렀는지 여부, true면 스크랩 등록, false면 스크랩 취소 |
2.14. Hot 게시글 목록 조회(Cursor)
2.14.1. HTTP request
GET /posts/hot/cursor?cursor=-1&size=10 HTTP/1.1
Host: api.ssafsound.com
Cookie: accessToken=accessTokenValue
2.14.2. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 942
{
"code" : "200",
"message" : "success",
"data" : {
"posts" : [ {
"boardId" : 1,
"boardTitle" : "자유 게시판",
"postId" : 7,
"title" : "Hot 게시글에 가는 방법",
"content" : "은 실력입니다.",
"likeCount" : 202,
"commentCount" : 54,
"createdAt" : "2023-12-30T20:26:12.5638994",
"nickname" : "익명",
"anonymity" : true,
"thumbnail" : "썸네일 URL"
}, {
"boardId" : 2,
"boardTitle" : "취업 게시판",
"postId" : 7,
"title" : "취업을 하기 위한 꿀팁",
"content" : "열심히 SSAFY 9기를 수료하시면 취업에 성공하실겁니다.",
"likeCount" : 102,
"commentCount" : 33,
"createdAt" : "2023-12-30T20:26:12.5638994",
"nickname" : "이용준",
"anonymity" : false,
"thumbnail" : "썸네일 URL"
} ],
"cursor" : null
}
}
2.14.3. Cookie
Cookie | Description |
---|---|
accessToken |
액세스 토큰 불필요 |
2.14.4. Request parameters
Parameter | Description |
---|---|
|
cursor값은 다음 페이지를 가져올 마지막 페이지 번호를 의미함, 초기 cursor는 -1, 이후 cursor값은 응답 데이터로 제공되는 cursor값을 사용. |
|
cursor를 기준으로 다음에 불러올 페이지의 size를 의미, 최소 size는 10 |
2.14.5. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
|
|
게시글 목록 |
|
|
다음에 요청할 cursor값, 응답되는 cursor값이 null이면 다음 페이지는 없음을 의미 |
|
|
게시글이 작성된 게시판 종류의 ID |
|
|
게시글이 작성된 게시판의 종류, 자유 게시판 | 취업 게시판 | 맛집 게시판 | 질문 게시판 | 싸피 예비생 게시판 |
|
|
게시글의 고유 ID |
|
|
게시글의 제목 |
|
|
게시글의 내용 |
|
|
게시글의 좋아요 개수 |
|
|
게시글의 댓글 개수 |
|
|
게시글의 작성일 |
|
|
게시글 작성자의 닉네임 |
|
|
게시글 작성자의 익명 여부인지 나타내는 필드 |
|
|
게시판의 썸네일, 게시글의 사진이 여러개가 있을 때 첫 번째 사진이 해당 게시글의 썸네일이 됨. |
2.15. Hot 게시글 목록 조회(Offset)
2.15.1. HTTP request
GET /posts/hot/offset?page=1&size=10 HTTP/1.1
Host: api.ssafsound.com
Cookie: accessToken=accessTokenValue
2.15.2. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 971
{
"code" : "200",
"message" : "success",
"data" : {
"posts" : [ {
"boardId" : 1,
"boardTitle" : "자유 게시판",
"postId" : 7,
"title" : "Hot 게시글에 가는 방법",
"content" : "은 실력입니다.",
"likeCount" : 202,
"commentCount" : 54,
"createdAt" : "2023-12-30T20:26:12.5638994",
"nickname" : "익명",
"anonymity" : true,
"thumbnail" : "썸네일 URL"
}, {
"boardId" : 2,
"boardTitle" : "취업 게시판",
"postId" : 7,
"title" : "취업을 하기 위한 꿀팁",
"content" : "열심히 SSAFY 9기를 수료하시면 취업에 성공하실겁니다.",
"likeCount" : 102,
"commentCount" : 33,
"createdAt" : "2023-12-30T20:26:12.5638994",
"nickname" : "이용준",
"anonymity" : false,
"thumbnail" : "썸네일 URL"
} ],
"currentPage" : 1,
"totalPageCount" : 1
}
}
2.15.3. Cookie
Cookie | Description |
---|---|
accessToken |
액세스 토큰 불필요 |
2.15.4. Request parameters
Parameter | Description |
---|---|
|
page값은 불러올 현재 페이지의 값을 의미함, 초기 page는 1(또는 첫 페이지는 1) |
|
현재 페이지의 게시글 개수를 의미함, 최소 size는 10 |
2.15.5. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
|
|
게시글 목록 |
|
|
현재 페이지 번호 |
|
|
전체 페이지 수 |
|
|
게시글이 작성된 게시판 종류의 ID |
|
|
게시글이 작성된 게시판의 종류, 자유 게시판 | 취업 게시판 | 맛집 게시판 | 질문 게시판 | 싸피 예비생 게시판 |
|
|
게시글의 고유 ID |
|
|
게시글의 제목 |
|
|
게시글의 내용 |
|
|
게시글의 좋아요 개수 |
|
|
게시글의 댓글 개수 |
|
|
게시글의 작성일 |
|
|
게시글 작성자의 닉네임 |
|
|
게시글 작성자의 익명 여부인지 나타내는 필드 |
|
|
게시판의 썸네일, 게시글의 사진이 여러개가 있을 때 첫 번째 사진이 해당 게시글의 썸네일이 됨. |
2.16. Hot 게시글 검색(Cursor)
2.16.1. HTTP request
GET /posts/hot/search/cursor?keyword=%EC%B7%A8%EC%97%85&cursor=-1&size=10 HTTP/1.1
Host: api.ssafsound.com
Cookie: accessToken=accessTokenValue
2.16.2. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 553
{
"code" : "200",
"message" : "success",
"data" : {
"posts" : [ {
"boardId" : 2,
"boardTitle" : "취업 게시판",
"postId" : 7,
"title" : "취업을 하기 위한 꿀팁",
"content" : "열심히 SSAFY 9기를 수료하시면 취업에 성공하실겁니다.",
"likeCount" : 102,
"commentCount" : 33,
"createdAt" : "2023-12-30T20:26:12.5638994",
"nickname" : "이용준",
"anonymity" : false,
"thumbnail" : "썸네일 URL"
} ],
"cursor" : null
}
}
2.16.3. Cookie
Cookie | Description |
---|---|
accessToken |
액세스 토큰 불필요 |
2.16.4. Request parameters
Parameter | Description |
---|---|
|
검색하려는 게시글의 검색어, 최소 2글자 |
|
cursor값은 다음 페이지를 가져올 마지막 페이지 번호를 의미함, 초기 cursor는 -1, 이후 cursor값은 응답 데이터로 제공되는 cursor값을 사용. |
|
cursor를 기준으로 다음에 불러올 페이지의 size를 의미, 최소 size는 10 |
2.16.5. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
|
|
게시글 목록 |
|
|
다음에 요청할 cursor값, 응답되는 cursor값이 null이면 다음 페이지는 없음을 의미 |
|
|
게시글이 작성된 게시판 종류의 ID |
|
|
게시글이 작성된 게시판의 종류, 자유 게시판 | 취업 게시판 | 맛집 게시판 | 질문 게시판 | 싸피 예비생 게시판 |
|
|
게시글의 고유 ID |
|
|
게시글의 제목 |
|
|
게시글의 내용 |
|
|
게시글의 좋아요 개수 |
|
|
게시글의 댓글 개수 |
|
|
게시글의 작성일 |
|
|
게시글 작성자의 닉네임 |
|
|
게시글 작성자의 익명 여부인지 나타내는 필드 |
|
|
게시판의 썸네일, 게시글의 사진이 여러개가 있을 때 첫 번째 사진이 해당 게시글의 썸네일이 됨. |
2.17. Hot 게시글 검색(Offset)
2.17.1. HTTP request
GET /posts/hot/search/offset?keyword=%EC%B7%A8%EC%97%85&page=1&size=10 HTTP/1.1
Host: api.ssafsound.com
Cookie: accessToken=accessTokenValue
2.17.2. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 582
{
"code" : "200",
"message" : "success",
"data" : {
"posts" : [ {
"boardId" : 2,
"boardTitle" : "취업 게시판",
"postId" : 7,
"title" : "취업을 하기 위한 꿀팁",
"content" : "열심히 SSAFY 9기를 수료하시면 취업에 성공하실겁니다.",
"likeCount" : 102,
"commentCount" : 33,
"createdAt" : "2023-12-30T20:26:12.5638994",
"nickname" : "이용준",
"anonymity" : false,
"thumbnail" : "썸네일 URL"
} ],
"currentPage" : 1,
"totalPageCount" : 1
}
}
2.17.3. Cookie
Cookie | Description |
---|---|
accessToken |
액세스 토큰 불필요 |
2.17.4. Request parameters
Parameter | Description |
---|---|
|
검색하려는 게시글의 검색어, 최소 2글자 |
|
page값은 불러올 현재 페이지의 값을 의미함, 초기 page는 1(또는 첫 페이지는 1) |
|
현재 페이지의 게시글 개수를 의미함, 최소 size는 10 |
2.17.5. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
|
|
게시글 목록 |
|
|
현재 페이지 번호 |
|
|
전체 페이지 수 |
|
|
게시글이 작성된 게시판 종류의 ID |
|
|
게시글이 작성된 게시판의 종류, 자유 게시판 | 취업 게시판 | 맛집 게시판 | 질문 게시판 | 싸피 예비생 게시판 |
|
|
게시글의 고유 ID |
|
|
게시글의 제목 |
|
|
게시글의 내용 |
|
|
게시글의 좋아요 개수 |
|
|
게시글의 댓글 개수 |
|
|
게시글의 작성일 |
|
|
게시글 작성자의 닉네임 |
|
|
게시글 작성자의 익명 여부인지 나타내는 필드 |
|
|
게시판의 썸네일, 게시글의 사진이 여러개가 있을 때 첫 번째 사진이 해당 게시글의 썸네일이 됨. |
2.18. 나의 게시글 목록 조회(Cursor)
2.18.1. HTTP request
GET /posts/my/cursor?cursor=-1&size=10 HTTP/1.1
Host: api.ssafsound.com
Cookie: accessToken=accessTokenValue
2.18.2. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 956
{
"code" : "200",
"message" : "success",
"data" : {
"posts" : [ {
"boardId" : 2,
"boardTitle" : "취업 게시판",
"postId" : 7,
"title" : "취업을 하기 위한 꿀팁",
"content" : "열심히 SSAFY 9기를 수료하시면 취업에 성공하실겁니다.",
"likeCount" : 102,
"commentCount" : 33,
"createdAt" : "2023-12-30T20:26:12.5638994",
"nickname" : "이용준",
"anonymity" : false,
"thumbnail" : "썸네일 URL"
}, {
"boardId" : 1,
"boardTitle" : "자유 게시판",
"postId" : 6,
"title" : "안녕하세요 반갑습니다.",
"content" : "SSAFY 9기 합격했습니다!!",
"likeCount" : 3,
"commentCount" : 2,
"createdAt" : "2023-12-30T20:26:12.5638994",
"nickname" : "이용준",
"anonymity" : false,
"thumbnail" : "썸네일 URL"
} ],
"cursor" : null
}
}
2.18.3. Cookie
Cookie | Description |
---|---|
accessToken |
액세스 토큰 필수 |
2.18.4. Request parameters
Parameter | Description |
---|---|
|
cursor값은 다음 페이지를 가져올 마지막 페이지 번호를 의미함, 초기 cursor는 -1, 이후 cursor값은 응답 데이터로 제공되는 cursor값을 사용. |
|
cursor를 기준으로 다음에 불러올 페이지의 size를 의미, 최소 size는 10 |
2.18.5. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
|
|
게시글 목록 |
|
|
다음에 요청할 cursor값, 응답되는 cursor값이 null이면 다음 페이지는 없음을 의미 |
|
|
게시글이 작성된 게시판 종류의 ID |
|
|
게시글이 작성된 게시판의 종류, 자유 게시판 | 취업 게시판 | 맛집 게시판 | 질문 게시판 | 싸피 예비생 게시판 |
|
|
게시글의 고유 ID |
|
|
게시글의 제목 |
|
|
게시글의 내용 |
|
|
게시글의 좋아요 개수 |
|
|
게시글의 댓글 개수 |
|
|
게시글의 작성일 |
|
|
게시글 작성자의 닉네임 |
|
|
게시글 작성자의 익명 여부인지 나타내는 필드 |
|
|
게시판의 썸네일, 게시글의 사진이 여러개가 있을 때 첫 번째 사진이 해당 게시글의 썸네일이 됨. |
2.19. 나의 게시글 목록 조회(Offset)
2.19.1. HTTP request
GET /posts/my/offset?page=1&size=10 HTTP/1.1
Host: api.ssafsound.com
Cookie: accessToken=accessTokenValue
2.19.2. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 985
{
"code" : "200",
"message" : "success",
"data" : {
"posts" : [ {
"boardId" : 2,
"boardTitle" : "취업 게시판",
"postId" : 7,
"title" : "취업을 하기 위한 꿀팁",
"content" : "열심히 SSAFY 9기를 수료하시면 취업에 성공하실겁니다.",
"likeCount" : 102,
"commentCount" : 33,
"createdAt" : "2023-12-30T20:26:12.5638994",
"nickname" : "이용준",
"anonymity" : false,
"thumbnail" : "썸네일 URL"
}, {
"boardId" : 1,
"boardTitle" : "자유 게시판",
"postId" : 6,
"title" : "안녕하세요 반갑습니다.",
"content" : "SSAFY 9기 합격했습니다!!",
"likeCount" : 3,
"commentCount" : 2,
"createdAt" : "2023-12-30T20:26:12.5638994",
"nickname" : "이용준",
"anonymity" : false,
"thumbnail" : "썸네일 URL"
} ],
"currentPage" : 1,
"totalPageCount" : 1
}
}
2.19.3. Cookie
Cookie | Description |
---|---|
accessToken |
액세스 토큰 필수 |
2.19.4. Request parameters
Parameter | Description |
---|---|
|
page값은 불러올 현재 페이지의 값을 의미함, 초기 page는 1(또는 첫 페이지는 1) |
|
현재 페이지의 게시글 개수를 의미함, 최소 size는 10 |
2.19.5. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
|
|
게시글 목록 |
|
|
현재 페이지 번호 |
|
|
전체 페이지 수 |
|
|
게시글이 작성된 게시판 종류의 ID |
|
|
게시글이 작성된 게시판의 종류, 자유 게시판 | 취업 게시판 | 맛집 게시판 | 질문 게시판 | 싸피 예비생 게시판 |
|
|
게시글의 고유 ID |
|
|
게시글의 제목 |
|
|
게시글의 내용 |
|
|
게시글의 좋아요 개수 |
|
|
게시글의 댓글 개수 |
|
|
게시글의 작성일 |
|
|
게시글 작성자의 닉네임 |
|
|
게시글 작성자의 익명 여부인지 나타내는 필드 |
|
|
게시판의 썸네일, 게시글의 사진이 여러개가 있을 때 첫 번째 사진이 해당 게시글의 썸네일이 됨. |
2.20. 나의 스크랩 게시글 목록 조회(Cursor)
2.20.1. HTTP request
GET /posts/my-scrap/cursor?cursor=-1&size=10 HTTP/1.1
Host: api.ssafsound.com
Cookie: accessToken=accessTokenValue
2.20.2. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 987
{
"code" : "200",
"message" : "success",
"data" : {
"posts" : [ {
"boardId" : 1,
"boardTitle" : "자유 게시판",
"postId" : 5,
"title" : "삼성 B형 시험을 준비하려면 뭘 해야할까요?",
"content" : "역시 B형 특강을 열심히 듣는게 맞나요?",
"likeCount" : 5,
"commentCount" : 14,
"createdAt" : "2023-12-30T20:26:12.5638994",
"nickname" : "익명",
"anonymity" : true,
"thumbnail" : "썸네일 URL"
}, {
"boardId" : 1,
"boardTitle" : "자유 게시판",
"postId" : 4,
"title" : "싸피 어떤가요??",
"content" : "저도 싸피에서 교육들으면 개발실력 엄청 오르겠죠?",
"likeCount" : 11,
"commentCount" : 29,
"createdAt" : "2023-12-30T20:26:12.5638994",
"nickname" : "이용준",
"anonymity" : false,
"thumbnail" : "썸네일 URL"
} ],
"cursor" : null
}
}
2.20.3. Cookie
Cookie | Description |
---|---|
accessToken |
액세스 토큰 필수 |
2.20.4. Request parameters
Parameter | Description |
---|---|
|
cursor값은 다음 페이지를 가져올 마지막 페이지 번호를 의미함, 초기 cursor는 -1, 이후 cursor값은 응답 데이터로 제공되는 cursor값을 사용. |
|
cursor를 기준으로 다음에 불러올 페이지의 size를 의미, 최소 size는 10 |
2.20.5. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
|
|
게시글 목록 |
|
|
다음에 요청할 cursor값, 응답되는 cursor값이 null이면 다음 페이지는 없음을 의미 |
|
|
게시글이 작성된 게시판 종류의 ID |
|
|
게시글이 작성된 게시판의 종류, 자유 게시판 | 취업 게시판 | 맛집 게시판 | 질문 게시판 | 싸피 예비생 게시판 |
|
|
게시글의 고유 ID |
|
|
게시글의 제목 |
|
|
게시글의 내용 |
|
|
게시글의 좋아요 개수 |
|
|
게시글의 댓글 개수 |
|
|
게시글의 작성일 |
|
|
게시글 작성자의 닉네임 |
|
|
게시글 작성자의 익명 여부인지 나타내는 필드 |
|
|
게시판의 썸네일, 게시글의 사진이 여러개가 있을 때 첫 번째 사진이 해당 게시글의 썸네일이 됨. |
2.21. 나의 스크랩 게시글 목록 조회(Offset)
2.21.1. HTTP request
GET /posts/my-scrap/offset?page=1&size=10 HTTP/1.1
Host: api.ssafsound.com
Cookie: accessToken=accessTokenValue
2.21.2. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 1016
{
"code" : "200",
"message" : "success",
"data" : {
"posts" : [ {
"boardId" : 1,
"boardTitle" : "자유 게시판",
"postId" : 5,
"title" : "삼성 B형 시험을 준비하려면 뭘 해야할까요?",
"content" : "역시 B형 특강을 열심히 듣는게 맞나요?",
"likeCount" : 5,
"commentCount" : 14,
"createdAt" : "2023-12-30T20:26:12.5638994",
"nickname" : "익명",
"anonymity" : true,
"thumbnail" : "썸네일 URL"
}, {
"boardId" : 1,
"boardTitle" : "자유 게시판",
"postId" : 4,
"title" : "싸피 어떤가요??",
"content" : "저도 싸피에서 교육들으면 개발실력 엄청 오르겠죠?",
"likeCount" : 11,
"commentCount" : 29,
"createdAt" : "2023-12-30T20:26:12.5638994",
"nickname" : "이용준",
"anonymity" : false,
"thumbnail" : "썸네일 URL"
} ],
"currentPage" : 1,
"totalPageCount" : 1
}
}
2.21.3. Cookie
Cookie | Description |
---|---|
accessToken |
액세스 토큰 필수 |
2.21.4. Request parameters
Parameter | Description |
---|---|
|
page값은 불러올 현재 페이지의 값을 의미함, 초기 page는 1(또는 첫 페이지는 1) |
|
현재 페이지의 게시글 개수를 의미함, 최소 size는 10 |
2.21.5. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
|
|
게시글 목록 |
|
|
현재 페이지 번호 |
|
|
전체 페이지 수 |
|
|
게시글이 작성된 게시판 종류의 ID |
|
|
게시글이 작성된 게시판의 종류, 자유 게시판 | 취업 게시판 | 맛집 게시판 | 질문 게시판 | 싸피 예비생 게시판 |
|
|
게시글의 고유 ID |
|
|
게시글의 제목 |
|
|
게시글의 내용 |
|
|
게시글의 좋아요 개수 |
|
|
게시글의 댓글 개수 |
|
|
게시글의 작성일 |
|
|
게시글 작성자의 닉네임 |
|
|
게시글 작성자의 익명 여부인지 나타내는 필드 |
|
|
게시판의 썸네일, 게시글의 사진이 여러개가 있을 때 첫 번째 사진이 해당 게시글의 썸네일이 됨. |
3. 댓글
3.1. 댓글 목록 조회
3.1.1. HTTP request
GET /comments?postId=1 HTTP/1.1
Host: api.ssafsound.com
Cookie: accessToken=accessTokenValue
3.1.2. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 1283
{
"code" : "200",
"message" : "success",
"data" : {
"comments" : [ {
"commentId" : 1,
"content" : "반가워요",
"likeCount" : 3,
"createdAt" : "2023-12-30T20:26:12.5428976",
"anonymity" : true,
"modified" : false,
"liked" : true,
"mine" : false,
"deletedComment" : false,
"author" : {
"memberId" : 2,
"nickname" : "박싸피",
"memberRole" : "user",
"ssafyMember" : false,
"isMajor" : false,
"ssafyInfo" : null
},
"replies" : [ {
"commentId" : 1,
"content" : "안녕하세요",
"likeCount" : 10,
"createdAt" : "2023-12-30T20:26:12.5378984",
"anonymity" : false,
"modified" : false,
"liked" : false,
"mine" : false,
"deletedComment" : false,
"author" : {
"memberId" : 1,
"nickname" : "김싸피",
"memberRole" : "user",
"ssafyMember" : true,
"isMajor" : true,
"ssafyInfo" : {
"semester" : 9,
"campus" : "서울",
"certificationState" : "CERTIFIED",
"majorTrack" : "Java"
}
}
} ]
} ]
}
}
3.1.3. Cookie
Cookie | Description |
---|---|
accessToken |
액세스 토큰 옵션(쿠키 유무에 따라 다른 응답을 반환합니다.) |
3.1.4. Request parameters
Parameter | Description |
---|---|
|
댓글을 작성하려는 게시글의 고유 ID |
3.1.5. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
|
|
댓글 목록(대댓글 포함) |
|
|
댓글의 고유 ID |
|
|
댓글의 내용 |
|
|
댓글에 달린 좋아요 개수 |
|
|
댓글 작성일 |
|
|
댓글의 작성자가 익명인지 여부 |
|
|
댓글이 수정되었는지 여부 |
|
|
로그인한 사용자일 때 이 댓글이 내가 좋아요를 누른 댓글인지 여부 |
|
|
로그인한 사용자일 때 이 댓글이 내가 작성한 댓글인지 여부 |
|
|
삭제된 댓글인지 여부(삭제된 댓글이어도 대댓글의 내용은 출력되어야 하기 때문) |
|
|
댓글 작성자의 정보 |
|
|
댓글의 대댓글(대댓글의 최대 Depth는 1) |
|
|
댓글 작성자의 고유 ID(단, 익명이면 -1) |
|
|
댓글 작성자의 닉네임 |
|
|
댓글 작성자의 사용자 권한 |
|
|
댓글 작성자가 SSAFY 유저인지 나타내는 필드 값 |
|
|
댓글 작성자가 전공자인지 여부, true면 전공자, false면 비전공자 |
|
|
댓글 작성자가 선택한 SSAFY 정보 단, SSAFY 인증을 받지 않아도, 해당 필드는 존재하지만 익명이면 null값이 들어감. |
|
|
작성자의 SSAFY 기수를 의미 |
|
|
작성자의 SSAFY 캠퍼스를 의미 |
|
|
작성자의 SSAFY 인증 여부를 의미함, CERTIFIED | UNCERTIFIED |
|
|
작성자의 전공트랙 정보를 의미, Java | Python | Mobile | Embedded |
|
|
대댓글의 고유 ID |
|
|
대댓글의 내용 |
|
|
대댓글에 달린 좋아요 개수 |
|
|
대댓글의 작성일 |
|
|
대댓글의 작성자가 익명인지 여부 |
|
|
대댓글이 수정되었는지 여부 |
|
|
로그인한 사용자일 때 이 대댓글이 내가 좋아요를 누른 대댓글인지 여부 |
|
|
로그인한 사용자일 때 이 대댓글이 내가 작성한 대댓글인지 여부 |
|
|
삭제된 대댓글인지 여부 |
|
|
대댓글 작성자의 정보 |
|
|
대댓글 작성자의 고유 ID(단, 익명이면 -1) |
|
|
대댓글 작성자의 닉네임 |
|
|
대댓글 작성자의 사용자 권한 |
|
|
대댓글 작성자가 SSAFY 유저인지 나타내는 필드 값 |
|
|
대댓글 작성자가 전공자인지 여부, true면 전공자, false면 비전공자 |
|
|
대댓글 작성자가 선택한 SSAFY 정보 단, SSAFY 인증을 받지 않아도, 해당 필드는 존재하지만 익명이면 null값이 들어감. |
|
|
작성자의 SSAFY 기수를 의미 |
|
|
작성자의 SSAFY 캠퍼스를 의미 |
|
|
작성자의 SSAFY 인증 여부를 의미함, CERTIFIED | UNCERTIFIED |
|
|
작성자의 전공트랙 정보를 의미, Java | Python | Mobile | Embedded |
3.2. 댓글 쓰기
3.2.1. HTTP request
POST /comments?postId=1 HTTP/1.1
Content-Type: application/json
Content-Type: application/json
Content-Length: 70
Host: api.ssafsound.com
Cookie: accessToken=accessTokenValue
{
"content" : "댓글 내용 입니다.",
"anonymity" : false
}
3.2.2. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 89
{
"code" : "200",
"message" : "success",
"data" : {
"commentId" : 1
}
}
3.2.3. Cookie
Cookie | Description |
---|---|
accessToken |
액세스 토큰 필수 |
3.2.4. Request parameters
Parameter | Description |
---|---|
|
댓글을 작성할 게시글의 고유 ID |
3.2.5. Request fields
Path | Type | Description |
---|---|---|
|
|
댓글 내용 |
|
|
댓글 작성자의 익명 여부를 나타내는 필드 |
3.2.6. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
|
|
작성한 댓글 ID |
3.3. 대댓글 쓰기
3.3.1. HTTP request
POST /comments/reply?commentId=1&postId=1 HTTP/1.1
Content-Type: application/json
Content-Type: application/json
Content-Length: 72
Host: api.ssafsound.com
Cookie: accessToken=accessTokenValue
{
"content" : "대댓글 내용 입니다.",
"anonymity" : true
}
3.3.2. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 89
{
"code" : "200",
"message" : "success",
"data" : {
"commentId" : 1
}
}
3.3.3. Cookie
Cookie | Description |
---|---|
accessToken |
액세스 토큰 필수 |
3.3.4. Request parameters
Parameter | Description |
---|---|
|
대댓글을 작성할 댓글의 고유 ID |
|
대댓글을 작성할 게시글의 고유 ID |
3.3.5. Request fields
Path | Type | Description |
---|---|---|
|
|
댓글 내용 |
|
|
댓글 작성자의 익명 여부를 나타내는 필드 |
3.3.6. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
|
|
작성한 대댓글 ID |
3.4. 댓글 수정
3.4.1. HTTP request
PATCH /comments/1 HTTP/1.1
Content-Type: application/json
Content-Type: application/json
Content-Length: 79
Host: api.ssafsound.com
Cookie: accessToken=accessTokenValue
{
"content" : "수정된 댓글 내용 입니다.",
"anonymity" : true
}
3.4.2. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 89
{
"code" : "200",
"message" : "success",
"data" : {
"commentId" : 1
}
}
3.4.3. Cookie
Cookie | Description |
---|---|
accessToken |
액세스 토큰 필수 |
3.4.4. Path parameters
Parameter | Description |
---|---|
|
수정할 댓글의 고유 ID |
3.4.5. Request fields
Path | Type | Description |
---|---|---|
|
|
댓글 내용 |
|
|
댓글 작성자의 익명 여부를 나타내는 필드 |
3.4.6. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
|
|
수정한 댓글 ID |
3.5. 댓글 삭제
3.5.1. HTTP request
DELETE /comments/1 HTTP/1.1
Host: api.ssafsound.com
Cookie: accessToken=accessTokenValue
3.5.2. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 89
{
"code" : "200",
"message" : "success",
"data" : {
"commentId" : 1
}
}
3.5.3. Cookie
Cookie | Description |
---|---|
accessToken |
액세스 토큰 필수 |
3.5.4. Path parameters
Parameter | Description |
---|---|
|
삭제할 댓글의 고유 ID |
3.5.5. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
|
|
삭제한 댓글 ID |
3.6. 댓글 좋아요
3.6.1. HTTP request
POST /comments/1/like HTTP/1.1
Host: api.ssafsound.com
Cookie: accessToken=accessTokenValue
3.6.2. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 111
{
"code" : "200",
"message" : "success",
"data" : {
"likeCount" : 12,
"liked" : true
}
}
3.6.3. Cookie
Cookie | Description |
---|---|
accessToken |
액세스 토큰 필수 |
3.6.4. Path parameters
Parameter | Description |
---|---|
|
좋아요할 댓글의 고유 ID |
3.6.5. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
|
|
좋아요를 누른 시점의 댓글 좋아요 개수 |
|
|
내가 좋아요를 눌렀을 때 현재 좋아요 상태(좋아요 등록, 좋아요 취소) |
4. 메타데이터
4.1. 캠퍼스 목록 조회
4.1.1. HTTP request
GET /meta/campuses HTTP/1.1
Host: api.ssafsound.com
4.1.2. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 352
{
"code" : "200",
"message" : "success",
"data" : {
"campuses" : [ {
"id" : 1,
"name" : "서울"
}, {
"id" : 2,
"name" : "대전"
}, {
"id" : 3,
"name" : "광주"
}, {
"id" : 4,
"name" : "구미"
}, {
"id" : 5,
"name" : "부울경"
} ]
}
}
4.1.3. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
|
|
캠퍼스 id (미사용) |
|
|
캠퍼스 이름 |
4.2. 스킬 목록 조회
4.2.1. HTTP request
GET /meta/skills HTTP/1.1
Host: api.ssafsound.com
4.2.2. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 1027
{
"code" : "200",
"message" : "success",
"data" : {
"skills" : [ {
"id" : 1,
"name" : "Spring"
}, {
"id" : 2,
"name" : "React"
}, {
"id" : 3,
"name" : "IOS"
}, {
"id" : 4,
"name" : "Vue"
}, {
"id" : 5,
"name" : "Java"
}, {
"id" : 6,
"name" : "JavaScript"
}, {
"id" : 7,
"name" : "TypeScript"
}, {
"id" : 8,
"name" : "Nodejs"
}, {
"id" : 9,
"name" : "Nextjs"
}, {
"id" : 10,
"name" : "Nuxtjs"
}, {
"id" : 11,
"name" : "XD"
}, {
"id" : 12,
"name" : "Swift"
}, {
"id" : 13,
"name" : "Figma"
}, {
"id" : 14,
"name" : "Svelte"
}, {
"id" : 15,
"name" : "Android"
}, {
"id" : 16,
"name" : "Flutter"
}, {
"id" : 17,
"name" : "Django"
}, {
"id" : 18,
"name" : "기타"
} ]
}
}
4.2.3. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
|
|
스킬 id (미사용) |
|
|
스킬 이름 |
4.3. 리크루트 목록 조회
4.3.1. HTTP request
GET /meta/recruit-types HTTP/1.1
Host: api.ssafsound.com
4.3.2. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 375
{
"code" : "200",
"message" : "success",
"data" : {
"recruitTypes" : [ {
"id" : 0,
"name" : "스터디"
}, {
"id" : 1,
"name" : "기획/디자인"
}, {
"id" : 2,
"name" : "프론트엔드"
}, {
"id" : 3,
"name" : "백엔드"
}, {
"id" : 4,
"name" : "앱"
} ]
}
}
4.3.3. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
|
|
리크루트 모집타입 id (미사용) |
|
|
리크루트 모집타입 이름 |
5. 인증
5.1. Oauth 로그인 페이지 리다이렉트
5.1.1. Path parameters
Parameter | Description |
---|---|
|
google, kakao, github, apple 중 하나를 입력하세요 |
5.1.2. HTTP request
GET /auth/kakao HTTP/1.1
Host: api.ssafsound.com
5.1.3. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
5.2. 로그인
5.2.1. HTTP request
POST /auth/callback HTTP/1.1
Content-Type: application/json
Content-Type: application/json
Content-Length: 65
Host: api.ssafsound.com
{
"code" : "82309899c459f9aebeea",
"oauthName" : "kakao"
}
5.2.2. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
|
|
액세스 토큰 |
|
|
리프레시 토큰 |
5.2.3. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Set-Cookie: accessToken=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c; Path=/; Domain=ssafsound.com; Max-Age=2629744; Expires=Mon, 29 Jan 2024 21:55:15 GMT; Secure; HttpOnly
Set-Cookie: refreshToken=syJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IsdfserwetweSflKxwRJeSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c; Path=/auth/reissue; Domain=ssafsound.com; Max-Age=2629744; Expires=Mon, 29 Jan 2024 21:55:15 GMT; Secure; HttpOnly
Content-Type: application/json
Content-Length: 422
{
"code" : "200",
"message" : "success",
"data" : {
"accessToken" : "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c",
"refreshToken" : "syJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IsdfserwetweSflKxwRJeSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"
}
}
5.3. 로그아웃시(accessToken 또는 refreshToken이 존재하는 경우)
5.3.1. HTTP request
DELETE /auth/logout HTTP/1.1
Host: api.ssafsound.com
Cookie: accessToken=accessTokenValue
Cookie: refreshToken=refreshTokenValue
5.3.2. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Set-Cookie: accessToken=; Path=/; Domain=ssafsound.com; Max-Age=0; Expires=Thu, 1 Jan 1970 00:00:00 GMT; Secure; HttpOnly
Set-Cookie: refreshToken=; Path=/; Domain=ssafsound.com; Max-Age=0; Expires=Thu, 1 Jan 1970 00:00:00 GMT; Secure; HttpOnly
Content-Type: application/json
Content-Length: 66
{
"code" : "200",
"message" : "success",
"data" : null
}
5.3.3. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
5.4. 로그아웃시(토큰 존재하지 않을 경우)
5.4.1. HTTP request
DELETE /auth/logout HTTP/1.1
Host: api.ssafsound.com
5.4.2. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Set-Cookie: accessToken=; Path=/; Domain=ssafsound.com; Max-Age=0; Expires=Thu, 1 Jan 1970 00:00:00 GMT; Secure; HttpOnly
Set-Cookie: refreshToken=; Path=/; Domain=ssafsound.com; Max-Age=0; Expires=Thu, 1 Jan 1970 00:00:00 GMT; Secure; HttpOnly
Content-Type: application/json
Content-Length: 66
{
"code" : "200",
"message" : "success",
"data" : null
}
5.4.3. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
5.5. 토큰 재발급
5.5.1. HTTP request
POST /auth/reissue HTTP/1.1
Host: api.ssafsound.com
Cookie: refreshToken=refreshTokenValue
5.5.2. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
|
|
액세스 토큰 |
5.5.3. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Set-Cookie: accessToken=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
Content-Type: application/json
Content-Length: 247
{
"code" : "200",
"message" : "success",
"data" : {
"accessToken" : "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"
}
}
6. 멤버
6.1. 소셜 로그인 후 멤버를 조회 했을때, 나갈 수 있기 때문에 ssafyMember가 null 이라면 회원가입을 진행해야 합니다.
6.1.1. Cookie
Cookie | Description |
---|---|
accessToken |
액세스 토큰 필수 |
6.1.2. HTTP request
GET /members HTTP/1.1
Host: api.ssafsound.com
Cookie: accessToken=accessTokenValue
6.1.3. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 215
{
"code" : "200",
"message" : "success",
"data" : {
"memberId" : 1,
"memberRole" : "user",
"nickname" : null,
"ssafyMember" : null,
"isMajor" : null,
"ssafyInfo" : null
}
}
6.1.4. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
|
|
멤버 ID |
|
|
멤버 권한 |
|
|
닉네임 |
|
|
싸피인 여부 |
|
|
전공자 여부 |
|
|
싸피인 정보 |
6.2. 일반 멤버 정보 조회
6.2.1. Cookie
Cookie | Description |
---|---|
accessToken |
액세스 토큰 필수 |
6.2.2. HTTP request
GET /members HTTP/1.1
Host: api.ssafsound.com
Cookie: accessToken=accessTokenValue
6.2.3. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 219
{
"code" : "200",
"message" : "success",
"data" : {
"memberId" : 1,
"memberRole" : "user",
"nickname" : "james",
"ssafyMember" : false,
"isMajor" : true,
"ssafyInfo" : null
}
}
6.2.4. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
|
|
멤버 ID |
|
|
멤버 권한 |
|
|
닉네임 |
|
|
싸피인 여부 |
|
|
전공자 여부 |
|
|
싸피인 정보 NULL |
6.3. 회원 탈퇴
6.3.1. Cookie
Cookie | Description |
---|---|
accessToken |
액세스 토큰 필수 |
6.3.2. HTTP request
DELETE /members HTTP/1.1
Host: api.ssafsound.com
Cookie: accessToken=accessTokenValue
6.3.3. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Set-Cookie: accessToken=; Path=/; Domain=ssafsound.com; Max-Age=0; Expires=Thu, 1 Jan 1970 00:00:00 GMT; Secure; HttpOnly
Set-Cookie: refreshToken=; Path=/; Domain=ssafsound.com; Max-Age=0; Expires=Thu, 1 Jan 1970 00:00:00 GMT; Secure; HttpOnly
Content-Type: application/json
Content-Length: 66
{
"code" : "200",
"message" : "success",
"data" : null
}
6.3.4. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
6.4. 싸피생 멤버 정보 조회
6.4.1. Cookie
Cookie | Description |
---|---|
accessToken |
액세스 토큰 필수 |
6.4.2. HTTP request
GET /members HTTP/1.1
Host: api.ssafsound.com
Cookie: accessToken=accessTokenValue
6.4.3. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 345
{
"code" : "200",
"message" : "success",
"data" : {
"memberId" : 1,
"memberRole" : "user",
"nickname" : "james",
"ssafyMember" : true,
"isMajor" : true,
"ssafyInfo" : {
"semester" : 9,
"campus" : "서울",
"certificationState" : "CERTIFIED",
"majorTrack" : "Java"
}
}
}
6.4.4. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
|
|
멤버 ID |
|
|
멤버 권한 |
|
|
닉네임 |
|
|
싸피인 여부 |
|
|
전공자 여부 |
|
|
싸피인 정보 |
|
|
싸피 기수 정보 |
|
|
캠퍼스 이름 |
|
|
싸피생 인증상태(CERTIFIED/UNCERTIFIED) |
|
|
전공 트랙(인증상태가 UNCERTIFIED라면 NULL) |
6.5. 회원가입 시 일반 멤버 정보 입력
6.5.1. Cookie
Cookie | Description |
---|---|
accessToken |
액세스 토큰 필수 |
6.5.2. HTTP request
PUT /members HTTP/1.1
Content-Type: application/json
Content-Type: application/json
Content-Length: 145
Host: api.ssafsound.com
Cookie: accessToken=accessTokenValue
{
"nickname" : "james",
"ssafyMember" : false,
"isMajor" : true,
"semester" : null,
"campus" : null,
"termIds" : [ 1, 2, 3 ]
}
6.5.3. Request body
{
"nickname" : "james",
"ssafyMember" : false,
"isMajor" : true,
"semester" : null,
"campus" : null,
"termIds" : [ 1, 2, 3 ]
}
6.5.4. Request fields
Path | Type | Description |
---|---|---|
|
|
닉네임 |
|
|
싸피인 여부 |
|
|
전공자 여부 |
|
|
싸피 기수 |
|
|
캠퍼스 이름 |
|
|
필수 약관 동의 아이디 값 |
6.5.5. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 219
{
"code" : "200",
"message" : "success",
"data" : {
"memberId" : 1,
"memberRole" : "user",
"nickname" : "james",
"ssafyMember" : false,
"isMajor" : true,
"ssafyInfo" : null
}
}
6.5.6. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
|
|
멤버 ID |
|
|
멤버 권한 |
|
|
닉네임 |
|
|
싸피인 여부 |
|
|
전공자 여부 |
|
|
싸피인 정보 |
|
|
싸피 기수 정보 |
|
|
캠퍼스 이름 |
|
|
싸피생 인증상태(CERTIFIED/UNCERTIFIED) |
|
|
전공 트랙(인증상태가 UNCERTIFIED라면 NULL) |
6.6. 회원가입 시 싸피 멤버 정보 입력
6.6.1. Cookie
Cookie | Description |
---|---|
accessToken |
액세스 토큰 필수 |
6.6.2. HTTP request
PUT /members HTTP/1.1
Content-Type: application/json
Content-Type: application/json
Content-Length: 137
Host: api.ssafsound.com
Cookie: accessToken=accessTokenValue
{
"nickname" : "james",
"ssafyMember" : true,
"isMajor" : true,
"semester" : 9,
"campus" : "서울",
"termIds" : [ ]
}
6.6.3. Request body
{
"nickname" : "james",
"ssafyMember" : true,
"isMajor" : true,
"semester" : 9,
"campus" : "�꽌�슱",
"termIds" : [ ]
}
6.6.4. Request fields
Path | Type | Description |
---|---|---|
|
|
닉네임 |
|
|
싸피인 여부 |
|
|
전공자 여부 |
|
|
싸피 기수 |
|
|
캠퍼스 이름 |
|
|
필수 약관 동의 아이디 값 |
6.6.5. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 345
{
"code" : "200",
"message" : "success",
"data" : {
"memberId" : 1,
"memberRole" : "user",
"nickname" : "james",
"ssafyMember" : true,
"isMajor" : true,
"ssafyInfo" : {
"semester" : 9,
"campus" : "서울",
"certificationState" : "UNCERTIFIED",
"majorTrack" : null
}
}
}
6.6.6. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
|
|
멤버 ID |
|
|
멤버 권한 |
|
|
닉네임 |
|
|
싸피인 여부 |
|
|
전공자 여부 |
|
|
싸피인 정보 |
|
|
싸피 기수 정보 |
|
|
캠퍼스 이름 |
|
|
싸피생 인증상태(CERTIFIED/UNCERTIFIED) |
|
|
전공 트랙(인증상태가 UNCERTIFIED라면 NULL) |
6.7. 싸피생 인증
6.7.1. Cookie
Cookie | Description |
---|---|
accessToken |
액세스 토큰 필수 |
6.7.2. HTTP request
POST /members/ssafy-certification HTTP/1.1
Content-Type: application/json
Content-Type: application/json
Content-Length: 71
Host: api.ssafsound.com
Cookie: accessToken=accessTokenValue
{
"majorTrack" : "Java",
"semester" : 9,
"answer" : "great"
}
6.7.3. Request fields
Path | Type | Description |
---|---|---|
|
|
전공트랙 |
|
|
기수 |
|
|
기수에 따른 출제 문제에 대한 정답 |
6.7.4. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 129
{
"code" : "200",
"message" : "success",
"data" : {
"possible" : true,
"certificationInquiryCount" : 3
}
}
6.7.5. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
|
|
인증 상태 여부 |
|
|
인증 시도 횟수 |
6.8. 나의 포트폴리오 조회
6.8.1. Cookie
Cookie | Description |
---|---|
accessToken |
액세스 토큰 필수 |
6.8.2. HTTP request
GET /members/portfolio HTTP/1.1
Host: api.ssafsound.com
Cookie: accessToken=accessTokenValue
6.8.3. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 395
{
"code" : "200",
"message" : "success",
"data" : {
"portfolioElement" : {
"selfIntroduction" : "자기소개 하겠습니다.",
"skills" : [ "Android", "Java" ],
"memberLinks" : [ {
"linkName" : "t-story",
"path" : "http://test-link2"
}, {
"linkName" : "velog",
"path" : "http://test-link1"
} ]
}
}
}
6.8.4. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
|
|
멤버 소개 글 |
|
|
멤버 기술 스택들 |
|
|
멤버 소개 링크들 |
|
|
멤버의 소개 링크 이름 |
|
|
멤버의 소개 링크 경로 |
6.9. 다른 멤버 포트폴리오 조회
6.9.1. Cookie
Cookie | Description |
---|---|
accessToken |
액세스 토큰 불필요 |
6.9.2. HTTP request
GET /members/99/portfolio HTTP/1.1
Host: api.ssafsound.com
6.9.3. Path parameters
Parameter | Description |
---|---|
|
멤버 Id |
6.9.4. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 395
{
"code" : "200",
"message" : "success",
"data" : {
"portfolioElement" : {
"selfIntroduction" : "자기소개 하겠습니다.",
"skills" : [ "Android", "Java" ],
"memberLinks" : [ {
"linkName" : "t-story",
"path" : "http://test-link2"
}, {
"linkName" : "velog",
"path" : "http://test-link1"
} ]
}
}
}
6.9.5. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
|
|
멤버 소개 글 |
|
|
멤버 기술 스택들 |
|
|
멤버 소개 링크들 |
|
|
멤버의 소개 링크 이름 |
|
|
멤버의 소개 링크 경로 |
6.10. 멤버 포트폴리오 수정
6.10.1. Cookie
Cookie | Description |
---|---|
accessToken |
액세스 토큰 필수 |
6.10.2. HTTP request
PUT /members/portfolio HTTP/1.1
Content-Type: application/json
Content-Type: application/json
Content-Length: 268
Host: api.ssafsound.com
Cookie: accessToken=accessTokenValue
{
"selfIntroduction" : "안녕하세요 자기소개합니다.",
"skills" : [ "Java", "Spring" ],
"memberLinks" : [ {
"linkName" : "velog",
"path" : "http://test-link1"
}, {
"linkName" : "t-story",
"path" : "http://test-link2"
} ]
}
6.10.3. Request fields
Path | Type | Description |
---|---|---|
|
|
자기소개 |
|
|
기술 스택들 |
|
|
소개 링크들 |
|
|
링크 이름 |
|
|
링크 경로 |
6.10.4. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 66
{
"code" : "200",
"message" : "success",
"data" : null
}
6.10.5. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
6.11. 멤버의 기본 정보 조회
6.11.1. Cookie
Cookie | Description |
---|---|
accessToken |
액세스 토큰 불필요 |
6.11.2. HTTP request
GET /members/99/default-information HTTP/1.1
Host: api.ssafsound.com
6.11.3. Path parameters
Parameter | Description |
---|---|
|
멤버 Id |
6.11.4. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 294
{
"code" : "200",
"message" : "success",
"data" : {
"nickname" : "KIM",
"ssafyMember" : true,
"isMajor" : true,
"ssafyInfo" : {
"semester" : 9,
"campus" : "서울",
"certificationState" : "CERTIFIED",
"majorTrack" : "Java"
}
}
}
6.11.5. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
|
|
닉네임 |
|
|
싸피인 여부 |
|
|
전공자 여부 |
|
|
싸피인 정보 |
|
|
싸피 기수 정보 |
|
|
캠퍼스 이름 |
|
|
싸피생 인증상태(CERTIFIED/UNCERTIFIED) |
|
|
전공 트랙(인증상태가 UNCERTIFIED라면 NULL) |
6.12. 멤버의 기본 정보 수정
6.12.1. Cookie
Cookie | Description |
---|---|
accessToken |
액세스 토큰 필수 |
6.12.2. HTTP request
PATCH /members/default-information HTTP/1.1
Content-Type: application/json
Content-Type: application/json
Content-Length: 71
Host: api.ssafsound.com
Cookie: accessToken=accessTokenValue
{
"ssafyMember" : false,
"semester" : null,
"campus" : null
}
6.12.3. Request fields
Path | Type | Description |
---|---|---|
|
|
싸피인 여부 |
|
|
기수 |
|
|
캠퍼스 |
6.12.4. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 66
{
"code" : "200",
"message" : "success",
"data" : null
}
6.12.5. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
6.13. 나의 프로필 공개 여부 조회
6.13.1. Cookie
Cookie | Description |
---|---|
accessToken |
액세스 토큰 필수 |
6.13.2. HTTP request
GET /members/public-profile HTTP/1.1
Host: api.ssafsound.com
Cookie: accessToken=accessTokenValue
6.13.3. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 91
{
"code" : "200",
"message" : "success",
"data" : {
"isPublic" : true
}
}
6.13.4. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
|
|
프로필 공개 여부 |
6.14. 다른 멤버의 프로필 공개 여부 조회
6.14.1. Cookie
Cookie | Description |
---|---|
accessToken |
액세스 토큰 불필요 |
6.14.2. HTTP request
GET /members/99/public-profile HTTP/1.1
Host: api.ssafsound.com
Cookie: accessToken=accessTokenValue
6.14.3. Path parameters
Parameter | Description |
---|---|
|
멤버 Id |
6.14.4. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 91
{
"code" : "200",
"message" : "success",
"data" : {
"isPublic" : true
}
}
6.14.5. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
|
|
프로필 공개 여부 |
6.15. 프로필 공개 여부 수정
6.15.1. Cookie
Cookie | Description |
---|---|
accessToken |
액세스 토큰 필수 |
6.15.2. HTTP request
PATCH /members/public-profile HTTP/1.1
Content-Type: application/json
Content-Type: application/json
Content-Length: 26
Host: api.ssafsound.com
Cookie: accessToken=accessTokenValue
{
"isPublic" : false
}
6.15.3. Request fields
Path | Type | Description |
---|---|---|
|
|
프로필 공개 여부 수정 |
6.15.4. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 66
{
"code" : "200",
"message" : "success",
"data" : null
}
6.15.5. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
6.16. 닉네임 중복 검사
6.16.1. Cookie
Cookie | Description |
---|---|
accessToken |
액세스 토큰 불필요 |
6.16.2. HTTP request
POST /members/nickname HTTP/1.1
Content-Type: application/json
Content-Type: application/json
Content-Length: 28
Host: api.ssafsound.com
{
"nickname" : "james"
}
6.16.3. Request fields
Path | Type | Description |
---|---|---|
|
|
닉네임 |
6.16.4. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 91
{
"code" : "200",
"message" : "success",
"data" : {
"possible" : true
}
}
6.16.5. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
|
|
닉네임 사용 가능 여부 |
6.17. 닉네임 변경
6.17.1. Cookie
Cookie | Description |
---|---|
accessToken |
액세스 토큰 필수 |
6.17.2. HTTP request
PATCH /members/nickname HTTP/1.1
Content-Type: application/json
Content-Type: application/json
Content-Length: 28
Host: api.ssafsound.com
Cookie: accessToken=accessTokenValue
{
"nickname" : "james"
}
6.17.3. Request fields
Path | Type | Description |
---|---|---|
|
|
닉네임 |
6.17.4. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 66
{
"code" : "200",
"message" : "success",
"data" : null
}
6.17.5. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
6.18. 멤버의 전공자 여부 수정
6.18.1. Cookie
Cookie | Description |
---|---|
accessToken |
액세스 토큰 필수 |
6.18.2. HTTP request
PATCH /members/major HTTP/1.1
Content-Type: application/json
Content-Type: application/json
Content-Length: 25
Host: api.ssafsound.com
Cookie: accessToken=accessTokenValue
{
"isMajor" : false
}
6.18.3. Request fields
Path | Type | Description |
---|---|---|
|
|
전공자유무 |
6.18.4. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 66
{
"code" : "200",
"message" : "success",
"data" : null
}
6.18.5. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
6.19. 멤버의 전공트랙 수정
6.19.1. Cookie
Cookie | Description |
---|---|
accessToken |
액세스 토큰 필수 |
6.19.2. HTTP request
PATCH /members/major-track HTTP/1.1
Content-Type: application/json
Content-Type: application/json
Content-Length: 33
Host: api.ssafsound.com
Cookie: accessToken=accessTokenValue
{
"majorTrack" : "Embedded"
}
6.19.3. Request fields
Path | Type | Description |
---|---|---|
|
|
전공트랙("Embedded" , "Python" , "Java" , "Mobile") |
6.19.4. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 66
{
"code" : "200",
"message" : "success",
"data" : null
}
6.19.5. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
7. 약관
7.1. 사용중인 약관 목록 불러오기
7.1.1. Cookie
Cookie | Description |
---|---|
accessToken |
액세스 토큰 불필요 |
7.1.2. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
|
|
약관 아이디 |
|
|
약관 이름 |
|
|
약관 내용 |
|
|
필수 여부 |
|
|
약관 배치 순서 |
7.1.3. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 528
{
"code" : "200",
"message" : "success",
"data" : {
"termElements" : [ {
"termId" : 1,
"termName" : "이용 약관1",
"content" : "test1",
"required" : true,
"sequence" : 1
}, {
"termId" : 2,
"termName" : "이용 약관2",
"content" : "test2",
"required" : true,
"sequence" : 2
}, {
"termId" : 3,
"termName" : "이용 약관3",
"content" : "test3",
"required" : true,
"sequence" : 3
} ]
}
}
8. 점심
8.1. 점심 목록 조회
8.1.1. HTTP request
GET /lunch?campus=%EC%84%9C%EC%9A%B8&date=2023-08-12 HTTP/1.1
Host: api.ssafsound.com
Cookie: accessToken=accessTokenValue
8.1.2. Cookie
Cookie | Description |
---|---|
accessToken |
액세스 토큰 옵션(쿠키 유무에 따라 다른 응답을 반환합니다.) |
8.1.3. Request parameters
Parameter | Description |
---|---|
|
조회하려는 yyyy-MM-DD 형식 일자. 당일과 익일만 가능합니다. |
|
조회하려는 캠퍼스 한글명. (서울 | 부울경 | 구미 | 광주 )( 대전은 현재 미지원 ) |
8.1.4. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 979
{
"code" : "200",
"message" : "success",
"data" : {
"totalPollCount" : 156,
"polledAt" : 1,
"menus" : [ {
"lunchId" : 1,
"mainMenu" : "메인메뉴1",
"extraMenu" : "메뉴1, 메뉴2, 메뉴3",
"sumKcal" : "1,544 kcal",
"imagePath" : "http://samsungwelstory.com/data/manager/recipe/E110/20230814/s20230727144547.png",
"pollCount" : 22
}, {
"lunchId" : 2,
"mainMenu" : "메인메뉴2",
"extraMenu" : "메뉴1, 메뉴2, 메뉴3",
"sumKcal" : "1,994 kcal",
"imagePath" : "http://samsungwelstory.com/data/manager/recipe/E110/20230814/s20230802100210.png",
"pollCount" : 42
}, {
"lunchId" : 3,
"mainMenu" : "메인메뉴3",
"extraMenu" : "메뉴1, 메뉴2, 메뉴3",
"sumKcal" : "2,012 kcal",
"imagePath" : "http://samsungwelstory.com/data/manager/recipe/E110/20230811/s20220325094317.jpg",
"pollCount" : 92
} ]
}
}
8.1.5. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
|
|
전체 메뉴의 투표수 합계 |
|
|
점심 메뉴 목록에서 인증된 사용자의 투표 선택지 인덱스. 미인증 혹은 투표하지 않았을 경우 -1 |
|
|
점심 메뉴 목록 |
|
|
점심 메뉴 아이디 |
|
|
메인 메뉴명 |
|
|
전체 메뉴 | 서브 메뉴 |
|
|
총 칼로리 |
|
|
메인 메뉴 이미지 주소 |
|
|
메뉴 투표수 |
8.2. 점심 투표하기
8.2.1. HTTP request
POST /lunch/poll/2 HTTP/1.1
Host: api.ssafsound.com
Cookie: accessToken=accessTokenValue
8.2.2. Cookie
Cookie | Description |
---|---|
accessToken |
액세스 토큰 필수 |
8.2.3. Path parameters
Parameter | Description |
---|---|
|
점심 메뉴 아이디 |
8.2.4. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 92
{
"code" : "200",
"message" : "success",
"data" : {
"pollCount" : 4327
}
}
8.2.5. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
|
|
메뉴 투표수 |
8.3. 점심 투표 취소하기
8.3.1. HTTP request
POST /lunch/poll/revert/2 HTTP/1.1
Host: api.ssafsound.com
Cookie: accessToken=accessTokenValue
8.3.2. Cookie
Cookie | Description |
---|---|
accessToken |
액세스 토큰 필수 |
8.3.3. Path parameters
Parameter | Description |
---|---|
|
점심 메뉴 아이디 |
8.3.4. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 92
{
"code" : "200",
"message" : "success",
"data" : {
"pollCount" : 4327
}
}
8.3.5. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
|
|
메뉴 투표수 |
9. 리크루트
9.1. 리크루트 등록
9.1.1. HTTP request
POST /recruits HTTP/1.1
Content-Type: application/json
Content-Type: application/json
Content-Length: 1257
Host: api.ssafsound.com
Cookie: accessToken=accessTokenValue
{
"category" : "PROJECT",
"recruitEnd" : "2024-01-06",
"title" : "[사이드 프로젝트] 공모전 레퍼런스 웹 플랫폼 개발 프로젝트 팀원을 모집합니다.",
"content" : "<p>[프로젝트 소개]</p>\n저희 프로젝트는 대학생들의 공모전 경험에 있어 누구나 참고할 레퍼런스를 제공받고, 또 자발적으로 공유할 수 있는 환경을 구축하고자 시작하게 되었습니다! 저희 프로젝트는 아래와 같은 특징을 가지고 있습니다.\n현재 PM 1명, 프론트엔드 개발자 2명, 백엔드 개발자 1명이 있으며, 디자인의 경우 PM이 1차 MVP의 UI/UX를 제작했습니다.\n",
"contactURI" : "https://open.kakao.com/o/sA8Kb83b",
"registerRecruitType" : "백엔드",
"skills" : [ "Spring", "React", "IOS", "Vue", "Java", "JavaScript", "TypeScript", "Nodejs", "Nextjs", "Nuxtjs", "XD", "Swift", "Figma", "Svelte", "Android", "Flutter", "Django", "기타" ],
"questions" : [ "프로젝트에 참여하고자 하는 동기가 무엇인가요?" ],
"limitations" : [ {
"recruitType" : "백엔드",
"limit" : 3
}, {
"recruitType" : "프론트엔드",
"limit" : 3
}, {
"recruitType" : "앱",
"limit" : 3
} ]
}
9.1.2. Request fields
Path | Type | Description |
---|---|---|
|
|
PROJECT | STUDY |
|
|
yyyy-MM-dd 모집 종료 일자, 당일 날짜 이후의 값으로만 설정 가능 |
|
|
리크루트 모집글 제목, 글자 수 제한 50자 |
|
|
리크루트 본문, 글자 수 제한 3000자, html 포함 4000자 |
|
|
리크루트 작성자와 연락 가능한 오픈톡 링크 |
|
|
리크루트 작성자가 선택한 자신의 역할군, 메타데이터-리크루트 목록 조회 참고 |
|
|
리크루트와 연관된 기술 스택, 메타데이터-스킬 목록 조회 참고 |
|
|
리크루트 참석자에게 할 질문, 1개만 등록 가능 |
|
|
리크루트 모집파트, 메타데이터-리크루트 목록 조회 참고 |
|
|
인원 제한 1명이상 10명 이하 |
9.1.3. Cookie
Cookie | Description |
---|---|
accessToken |
액세스 토큰 필수 |
9.1.4. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 89
{
"code" : "200",
"message" : "success",
"data" : {
"recruitId" : 1
}
}
9.1.5. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
|
|
생성된 리크루트 ID |
9.2. 리크루트 스크랩 토글
9.2.1. HTTP request
POST /recruits/1/scrap HTTP/1.1
Host: api.ssafsound.com
Cookie: accessToken=accessTokenValue
9.2.2. Cookie
Cookie | Description |
---|---|
accessToken |
액세스 토큰 필수 |
9.2.3. Path parameters
Parameter | Description |
---|---|
|
리크루트 아이디 |
9.2.4. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 113
{
"code" : "200",
"message" : "success",
"data" : {
"scrapCount" : 1,
"scraped" : true
}
}
9.2.5. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
|
|
전체 스크랩 갯수 |
|
|
스크랩 여부 |
9.3. 리크루트 완료
9.3.1. HTTP request
POST /recruits/1/expired HTTP/1.1
Host: api.ssafsound.com
Cookie: accessToken=accessTokenValue
9.3.2. Cookie
Cookie | Description |
---|---|
accessToken |
액세스 토큰 필수 |
9.3.3. Path parameters
Parameter | Description |
---|---|
|
리크루트 아이디 |
9.3.4. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 66
{
"code" : "200",
"message" : "success",
"data" : null
}
9.3.5. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
9.4. 리크루트 상세 조회
9.4.1. HTTP request
GET /recruits/1 HTTP/1.1
Host: api.ssafsound.com
9.4.2. Cookie
Cookie | Description |
---|---|
accessToken |
액세스 토큰 옵션(쿠키 유무에 따라 다른 응답을 반환합니다.) |
9.4.3. Path parameters
Parameter | Description |
---|---|
|
리크루트 아이디 |
9.4.4. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 1774
{
"code" : "200",
"message" : "success",
"data" : {
"category" : "PROJECT",
"recruitId" : 1,
"title" : "[사이드 프로젝트] 공모전 레퍼런스 웹 플랫폼 개발 프로젝트 팀원을 모집합니다.",
"content" : "<p>[프로젝트 소개]</p>\n저희 프로젝트는 대학생들의 공모전 경험에 있어 누구나 참고할 레퍼런스를 제공받고, 또 자발적으로 공유할 수 있는 환경을 구축하고자 시작하게 되었습니다! 저희 프로젝트는 아래와 같은 특징을 가지고 있습니다.\n현재 PM 1명, 프론트엔드 개발자 2명, 백엔드 개발자 1명이 있으며, 디자인의 경우 PM이 1차 MVP의 UI/UX를 제작했습니다.\n",
"contactURI" : "https://open.kakao.com/o/sA8Kb83b",
"view" : 1,
"finishedRecruit" : false,
"recruitStart" : "2023-12-30",
"recruitEnd" : "2024-01-06",
"skills" : [ {
"skillId" : 1,
"name" : "Spring"
}, {
"skillId" : 2,
"name" : "React"
} ],
"limits" : [ {
"recruitType" : "백엔드",
"limit" : 3,
"currentNumber" : 1
}, {
"recruitType" : "프론트엔드",
"limit" : 3,
"currentNumber" : 0
} ],
"questions" : [ "프로젝트에 참여하고자 하는 동기가 무엇인가요?" ],
"author" : {
"memberId" : 99,
"nickname" : "KIM",
"memberRole" : "user",
"ssafyMember" : true,
"isMajor" : true,
"ssafyInfo" : {
"semester" : 9,
"campus" : "서울",
"certificationState" : "CERTIFIED",
"majorTrack" : "Java"
}
},
"scrapCount" : 1,
"scraped" : true,
"matchStatus" : "INITIAL",
"mine" : true
}
}
9.4.5. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
|
|
PROJECT | STUDY |
|
|
리크루트 id |
|
|
리크루트 모집글 제목, 글자 수 제한 50자 |
|
|
리크루트 본문, 글자 수 제한 3000자, html 포함 4000자 |
|
|
리크루트 작성자와 연락 가능한 오픈톡 링크 |
|
|
리크루트 상세 조회 수 |
|
|
리크루트 종료 여부 |
|
|
yyyy-MM-dd 모집 시작 일자 |
|
|
yyyy-MM-dd 모집 종료 일자 |
|
|
스킬 id (미사용) |
|
|
스킬명, 메타데이터-스킬 목록 조회 참고 |
|
|
리크루트 모집 타입, 메타데이터-리크루트 목록 조회 참고 |
|
|
리크루트 모집제한 인원 |
|
|
리크루트 모집인원 |
|
|
리크루트 등록자 PK |
|
|
리크루트 등록자 닉네임 |
|
|
리크루트 등록자 전공자 여부 |
|
|
싸피 정보 여부, null 또는 object |
|
|
리크루트 등록자 SSAFY 기수 1이상 10이하 |
|
|
리크루트 등록자 소속 캠퍼스, 메타데이터-캠퍼스 목록 조회 참고 |
|
|
리크루트 등록자 SSAFY 인증 여부 |
|
|
리크루트 등록자 전공 트랙 Embedded | Mobile | Python | Java |
|
|
사용자 권한 |
|
|
싸피 멤버 여부 |
|
|
리쿠르트 질문 |
|
|
조회자 리크루트 스크랩 여부 |
|
|
내가 작성한 리크루트 여부 |
|
|
리쿠르트 스크랩 갯수 |
|
|
조회 유저 신청 상태 |
9.5. 리크루트 업데이트
9.5.1. HTTP request
PATCH /recruits/1 HTTP/1.1
Content-Type: application/json
Content-Type: application/json
Content-Length: 411
Host: api.ssafsound.com
Cookie: accessToken=accessTokenValue
{
"category" : "PROJECT",
"registerRecruitType" : "백엔드",
"recruitEnd" : "2025-12-01",
"title" : "제목 수정",
"content" : "<p>컨텐츠 수정입니다. </p>",
"contactURI" : "github.com",
"skills" : [ "React", "Spring", "Svelte" ],
"limitations" : [ {
"recruitType" : "백엔드",
"limit" : 5
}, {
"recruitType" : "프론트엔드",
"limit" : 5
} ]
}
9.5.2. Cookie
Cookie | Description |
---|---|
accessToken |
액세스 토큰 필수 |
9.5.3. Path parameters
Parameter | Description |
---|---|
|
리크루트 아이디 |
9.5.4. Request fields
Path | Type | Description |
---|---|---|
|
|
리크루트 카테고리 : PROJECT | STUDY |
|
|
리크루트 등록자 리크루트 모집 타입, 메타데이터-리크루트 목록 조회 참고 |
|
|
yyyy-MM-dd 모집 종료 일자, 당일 날짜 이후의 값으로만 설정 가능 |
|
|
리크루트 모집글 제목, 글자 수 제한 50자 |
|
|
리크루트 본문, 글자 수 제한 3000자, html 포함 4000자 |
|
|
리크루트 작성자와 연락 가능한 오픈톡 링크 |
|
|
리크루트와 연관된 기술 스택, 메타데이터-스킬 목록 조회 참고 |
|
|
리크루트 모집파트, 메타데이터-리크루트 목록 조회 참고 |
|
|
인원 제한 1명이상 10명 이하 |
9.5.5. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 66
{
"code" : "200",
"message" : "success",
"data" : null
}
9.5.6. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
9.6. 리크루트 삭제
9.6.1. HTTP request
DELETE /recruits/1 HTTP/1.1
Host: api.ssafsound.com
Cookie: accessToken=accessTokenValue
9.6.2. Cookie
Cookie | Description |
---|---|
accessToken |
액세스 토큰 필수 |
9.6.3. Path parameters
Parameter | Description |
---|---|
|
리크루트 아이디 |
9.6.4. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 66
{
"code" : "200",
"message" : "success",
"data" : null
}
9.6.5. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
9.7. 리크루트 목록 조회(Cursor)
9.7.1. HTTP request
GET /recruits/cursor?size=20&category=project&keyword=%EC%82%AC%EC%9D%B4%EB%93%9C&isFinished=false&recruitTypes=%EB%B0%B1%EC%97%94%EB%93%9C&recruitTypes=%ED%94%84%EB%A1%A0%ED%8A%B8%EC%97%94%EB%93%9C&skills=Spring&skills=React HTTP/1.1
Host: api.ssafsound.com
Cookie: accessToken=accessTokenValue
9.7.2. Request parameters
Parameter | Description |
---|---|
|
조회할 커서 번호 default(초기화면)에서는 미포함 |
|
페이징 사이즈 |
|
카테고리 project|study |
|
리크루트 게시글 제목 검색 키워드 |
|
리크루트 종료 여부 |
|
리크루트 모집파트, 메타데이터-리크루트 목록 조회 참고 |
|
리크루트와 연관된 기술 스택, 메타데이터-스킬 목록 조회 참고 |
9.7.3. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 927
{
"code" : "200",
"message" : "success",
"data" : {
"recruits" : [ {
"recruitId" : 1,
"category" : "PROJECT",
"title" : "[사이드 프로젝트] 공모전 레퍼런스 웹 플랫폼 개발 프로젝트 팀원을 모집합니다.",
"finishedRecruit" : false,
"recruitEnd" : "2024-01-06",
"content" : "<p>[프로젝트 소개]</p>\n저희 ",
"skills" : [ {
"skillId" : 1,
"name" : "Spring"
}, {
"skillId" : 2,
"name" : "React"
} ],
"participants" : [ {
"recruitType" : "백엔드",
"limit" : 4,
"members" : [ {
"nickname" : "KIM",
"isMajor" : true
} ]
}, {
"recruitType" : "프론트엔드",
"limit" : 3,
"members" : [ ]
} ],
"mine" : false
} ],
"nextCursor" : 1,
"isLast" : true
}
}
9.7.4. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
|
|
다음 조회할 커서 번호 |
|
|
마지막 페이지 여부 |
|
|
리크루트 id |
|
|
카테고리 project|study |
|
|
내가 쓴 글 여부(토큰 기준) |
|
|
리크루트 모집글 제목, 글자 수 제한 50자 |
|
|
리크루트 본문 요약본 최대 50자 |
|
|
yyyy-MM-dd 모집 종료 일자 |
|
|
리크루트 종료 여부 |
|
|
리크루트 참여 멤버 |
|
|
스킬 id 미사용 |
|
|
리크루트와 연관된 기술 스택명, 메타데이터-스킬 목록 조회 참고 |
|
|
리크루트 모집파트, 메타데이터-리크루트 목록 조회 참고 |
|
|
리크루트 모집 인원 제한 1명이상 10명 이하 |
|
|
리크루트 참여자 닉네임 |
|
|
리크루트 참여자 전공 여부 |
9.8. 리크루트 목록 조회(Offset)
9.8.1. HTTP request
GET /recruits/offset?size=20&category=project&keyword=%EC%82%AC%EC%9D%B4%EB%93%9C&isFinished=false&recruitTypes=%EB%B0%B1%EC%97%94%EB%93%9C&recruitTypes=%ED%94%84%EB%A1%A0%ED%8A%B8%EC%97%94%EB%93%9C&skills=Spring&skills=React HTTP/1.1
Host: api.ssafsound.com
Cookie: accessToken=accessTokenValue
9.8.2. Request parameters
Parameter | Description |
---|---|
|
조회할 page 번호 |
|
페이징 사이즈 |
|
카테고리 project|study |
|
리크루트 게시글 제목 검색 키워드 |
|
리크루트 종료 여부 |
|
리크루트 모집파트, 메타데이터-리크루트 목록 조회 참고 |
|
리크루트와 연관된 기술 스택, 메타데이터-스킬 목록 조회 참고 |
9.8.3. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 933
{
"code" : "200",
"message" : "success",
"data" : {
"recruits" : [ {
"recruitId" : 1,
"category" : "PROJECT",
"title" : "[사이드 프로젝트] 공모전 레퍼런스 웹 플랫폼 개발 프로젝트 팀원을 모집합니다.",
"finishedRecruit" : false,
"recruitEnd" : "2024-01-06",
"content" : "<p>[프로젝트 소개]</p>\n저희 ",
"skills" : [ {
"skillId" : 1,
"name" : "Spring"
}, {
"skillId" : 2,
"name" : "React"
} ],
"participants" : [ {
"recruitType" : "백엔드",
"limit" : 4,
"members" : [ {
"nickname" : "KIM",
"isMajor" : true
} ]
}, {
"recruitType" : "프론트엔드",
"limit" : 3,
"members" : [ ]
} ],
"mine" : false
} ],
"currentPage" : 0,
"totalPageCount" : 1
}
}
9.8.4. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
|
|
현재 조회한 페이지 번호 |
|
|
total 페이지 갯수 |
|
|
리크루트 id |
|
|
카테고리 project|study |
|
|
내가 쓴 글 여부(토큰 기준) |
|
|
리크루트 모집글 제목, 글자 수 제한 50자 |
|
|
리크루트 본문 요약본 최대 50자 |
|
|
yyyy-MM-dd 모집 종료 일자 |
|
|
리크루트 종료 여부 |
|
|
리크루트 참여 멤버 |
|
|
스킬 id 미사용 |
|
|
리크루트와 연관된 기술 스택명, 메타데이터-스킬 목록 조회 참고 |
|
|
리크루트 모집파트, 메타데이터-리크루트 목록 조회 참고 |
|
|
리크루트 모집 인원 제한 1명이상 10명 이하 |
|
|
리크루트 참여자 닉네임 |
|
|
리크루트 참여자 전공 여부 |
9.9. 사용자 지원 리크루트 목록 조회(Cursor)
9.9.1. HTTP request
GET /recruits/applied/cursor?size=10&category=project HTTP/1.1
Host: api.ssafsound.com
Cookie: accessToken=accessTokenValue
9.9.2. Cookie
Cookie | Description |
---|---|
accessToken |
액세스 토큰 필수 |
9.9.3. Request parameters
Parameter | Description |
---|---|
|
다음 조회 커서 default(초기화면)에서는 미포함 |
|
페이징 사이즈 |
|
카테고리 project|study |
|
리크루트 매칭 상태 |
9.9.4. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 1013
{
"code" : "200",
"message" : "success",
"data" : {
"recruits" : [ {
"recruitId" : 1,
"category" : "PROJECT",
"title" : "[사이드 프로젝트] 공모전 레퍼런스 웹 플랫폼 개발 프로젝트 팀원을 모집합니다.",
"finishedRecruit" : false,
"recruitEnd" : "2024-01-06",
"content" : "<p>[프로젝트 소개]</p>\n저희 ",
"skills" : [ {
"skillId" : 1,
"name" : "Spring"
}, {
"skillId" : 2,
"name" : "React"
} ],
"participants" : [ {
"recruitType" : "백엔드",
"limit" : 4,
"members" : [ {
"nickname" : "KIM",
"isMajor" : true
} ]
}, {
"recruitType" : "프론트엔드",
"limit" : 3,
"members" : [ ]
} ],
"mine" : false,
"matchStatus" : "PENDING",
"appliedAt" : "2023-12-30T20:26:21.7363223"
} ],
"nextCursor" : 1,
"isLast" : true
}
}
9.9.5. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
|
|
다음 조회할 커서 번호 |
|
|
마지막 페이지 여부 |
|
|
리크루트 id |
|
|
카테고리 project|study |
|
|
내가 쓴 글 여부(토큰 기준) |
|
|
리크루트 모집글 제목, 글자 수 제한 50자 |
|
|
사용자 리크루트 매칭 상태 |
|
|
사용자 리크루트 신청일 |
|
|
리크루트 본문 요약본 최대 50자 |
|
|
yyyy-MM-dd 모집 종료 일자 |
|
|
리크루트 종료 여부 |
|
|
리크루트 참여 멤버 |
|
|
스킬 id 미사용 |
|
|
리크루트와 연관된 기술 스택명, 메타데이터-스킬 목록 조회 참고 |
|
|
리크루트 모집파트, 메타데이터-리크루트 목록 조회 참고 |
|
|
리크루트 모집 인원 제한 1명이상 10명 이하 |
|
|
리크루트 참여자 닉네임 |
|
|
리크루트 참여자 전공 여부 |
9.10. 사용자 지원 리크루트 목록 조회(Offset)
9.10.1. HTTP request
GET /recruits/applied/offset?size=10&category=project HTTP/1.1
Host: api.ssafsound.com
Cookie: accessToken=accessTokenValue
9.10.2. Cookie
Cookie | Description |
---|---|
accessToken |
액세스 토큰 필수 |
9.10.3. Request parameters
Parameter | Description |
---|---|
|
다음 페이지 네이션 |
|
페이징 사이즈 |
|
카테고리 project|study |
|
리크루트 매칭 상태 |
9.10.4. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 1019
{
"code" : "200",
"message" : "success",
"data" : {
"recruits" : [ {
"recruitId" : 1,
"category" : "PROJECT",
"title" : "[사이드 프로젝트] 공모전 레퍼런스 웹 플랫폼 개발 프로젝트 팀원을 모집합니다.",
"finishedRecruit" : false,
"recruitEnd" : "2024-01-06",
"content" : "<p>[프로젝트 소개]</p>\n저희 ",
"skills" : [ {
"skillId" : 1,
"name" : "Spring"
}, {
"skillId" : 2,
"name" : "React"
} ],
"participants" : [ {
"recruitType" : "백엔드",
"limit" : 4,
"members" : [ {
"nickname" : "KIM",
"isMajor" : true
} ]
}, {
"recruitType" : "프론트엔드",
"limit" : 3,
"members" : [ ]
} ],
"mine" : false,
"matchStatus" : "PENDING",
"appliedAt" : "2023-12-30T20:26:21.7363223"
} ],
"currentPage" : 1,
"totalPageCount" : 1
}
}
9.10.5. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
|
|
현재 페이지 번호 |
|
|
총 페이지 갯수 |
|
|
리크루트 id |
|
|
카테고리 project|study |
|
|
내가 쓴 글 여부(토큰 기준) |
|
|
리크루트 모집글 제목, 글자 수 제한 50자 |
|
|
사용자 리크루트 매칭 상태 |
|
|
사용자 리크루트 신청일 |
|
|
리크루트 본문 요약본 최대 50자 |
|
|
yyyy-MM-dd 모집 종료 일자 |
|
|
리크루트 종료 여부 |
|
|
리크루트 참여 멤버 |
|
|
스킬 id 미사용 |
|
|
리크루트와 연관된 기술 스택명, 메타데이터-스킬 목록 조회 참고 |
|
|
리크루트 모집파트, 메타데이터-리크루트 목록 조회 참고 |
|
|
리크루트 모집 인원 제한 1명이상 10명 이하 |
|
|
리크루트 참여자 닉네임 |
|
|
리크루트 참여자 전공 여부 |
9.11. 사용자 참여중 리크루트 목록 조회(Cursor)
9.11.1. HTTP request
GET /recruits/joined/cursor?memberId=1&category=PROJECT&size=10 HTTP/1.1
Host: api.ssafsound.com
Cookie: accessToken=accessTokenValue
9.11.2. Cookie
Cookie | Description |
---|---|
accessToken |
액세스 토큰 옵션(쿠키 유무에 따라 다른 응답을 반환합니다.) |
9.11.3. Request parameters
Parameter | Description |
---|---|
|
조회할 커서 default(초기화면)에서는 미포함 |
|
페이징 사이즈 |
|
카테고리 project|study |
|
사용자 프로필 - 참여중인 리크루트 목록 조회 시 사용될 사용자의 Id |
9.11.4. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 927
{
"code" : "200",
"message" : "success",
"data" : {
"recruits" : [ {
"recruitId" : 1,
"category" : "PROJECT",
"title" : "[사이드 프로젝트] 공모전 레퍼런스 웹 플랫폼 개발 프로젝트 팀원을 모집합니다.",
"finishedRecruit" : false,
"recruitEnd" : "2024-01-06",
"content" : "<p>[프로젝트 소개]</p>\n저희 ",
"skills" : [ {
"skillId" : 1,
"name" : "Spring"
}, {
"skillId" : 2,
"name" : "React"
} ],
"participants" : [ {
"recruitType" : "백엔드",
"limit" : 4,
"members" : [ {
"nickname" : "KIM",
"isMajor" : true
} ]
}, {
"recruitType" : "프론트엔드",
"limit" : 3,
"members" : [ ]
} ],
"mine" : false
} ],
"nextCursor" : 1,
"isLast" : true
}
}
9.11.5. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
|
|
다음 조회할 커서 번호 |
|
|
마지막 페이지 여부 |
|
|
리크루트 id |
|
|
카테고리 project|study |
|
|
내가 쓴 글 여부(토큰 기준) |
|
|
리크루트 모집글 제목, 글자 수 제한 50자 |
|
|
리크루트 본문 요약본 최대 50자 |
|
|
yyyy-MM-dd 모집 종료 일자 |
|
|
리크루트 종료 여부 |
|
|
리크루트 참여 멤버 |
|
|
스킬 id 미사용 |
|
|
리크루트와 연관된 기술 스택명, 메타데이터-스킬 목록 조회 참고 |
|
|
리크루트 모집파트, 메타데이터-리크루트 목록 조회 참고 |
|
|
리크루트 모집 인원 제한 1명이상 10명 이하 |
|
|
리크루트 참여자 닉네임 |
|
|
리크루트 참여자 전공 여부 |
9.12. 사용자 참여중 리크루트 목록 조회(Offset)
9.12.1. HTTP request
GET /recruits/joined/offset?memberId=1&category=PROJECT&size=10 HTTP/1.1
Host: api.ssafsound.com
Cookie: accessToken=accessTokenValue
9.12.2. Cookie
Cookie | Description |
---|---|
accessToken |
액세스 토큰 옵션(쿠키 유무에 따라 다른 응답을 반환합니다.) |
9.12.3. Request parameters
Parameter | Description |
---|---|
|
조회할 페이지 |
|
페이징 사이즈 |
|
카테고리 project|study |
|
사용자 프로필 - 참여중인 리크루트 목록 조회 시 사용될 사용자의 Id |
9.12.4. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 933
{
"code" : "200",
"message" : "success",
"data" : {
"recruits" : [ {
"recruitId" : 1,
"category" : "PROJECT",
"title" : "[사이드 프로젝트] 공모전 레퍼런스 웹 플랫폼 개발 프로젝트 팀원을 모집합니다.",
"finishedRecruit" : false,
"recruitEnd" : "2024-01-06",
"content" : "<p>[프로젝트 소개]</p>\n저희 ",
"skills" : [ {
"skillId" : 1,
"name" : "Spring"
}, {
"skillId" : 2,
"name" : "React"
} ],
"participants" : [ {
"recruitType" : "백엔드",
"limit" : 4,
"members" : [ {
"nickname" : "KIM",
"isMajor" : true
} ]
}, {
"recruitType" : "프론트엔드",
"limit" : 3,
"members" : [ ]
} ],
"mine" : false
} ],
"currentPage" : 1,
"totalPageCount" : 1
}
}
9.12.5. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
|
|
현재 조회중 페이징 번호 |
|
|
전체 페이지 갯수 |
|
|
리크루트 id |
|
|
카테고리 project|study |
|
|
내가 쓴 글 여부(토큰 기준) |
|
|
리크루트 모집글 제목, 글자 수 제한 50자 |
|
|
리크루트 본문 요약본 최대 50자 |
|
|
yyyy-MM-dd 모집 종료 일자 |
|
|
리크루트 종료 여부 |
|
|
리크루트 참여 멤버 |
|
|
스킬 id 미사용 |
|
|
리크루트와 연관된 기술 스택명, 메타데이터-스킬 목록 조회 참고 |
|
|
리크루트 모집파트, 메타데이터-리크루트 목록 조회 참고 |
|
|
리크루트 모집 인원 제한 1명이상 10명 이하 |
|
|
리크루트 참여자 닉네임 |
|
|
리크루트 참여자 전공 여부 |
9.13. 사용자 스크랩 리크루팅 목록 조회(Cursor)
9.13.1. HTTP request
GET /recruits/my-scrap/cursor?size=10 HTTP/1.1
Host: api.ssafsound.com
Cookie: accessToken=accessTokenValue
9.13.2. Cookie
Cookie | Description |
---|---|
accessToken |
액세스 토큰 필수 |
9.13.3. Request parameters
Parameter | Description |
---|---|
|
다음 조회 커서 default(초기화면)에서는 미포함 |
|
페이징 사이즈 |
9.13.4. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 927
{
"code" : "200",
"message" : "success",
"data" : {
"recruits" : [ {
"recruitId" : 1,
"category" : "PROJECT",
"title" : "[사이드 프로젝트] 공모전 레퍼런스 웹 플랫폼 개발 프로젝트 팀원을 모집합니다.",
"finishedRecruit" : false,
"recruitEnd" : "2024-01-06",
"content" : "<p>[프로젝트 소개]</p>\n저희 ",
"skills" : [ {
"skillId" : 1,
"name" : "Spring"
}, {
"skillId" : 2,
"name" : "React"
} ],
"participants" : [ {
"recruitType" : "백엔드",
"limit" : 4,
"members" : [ {
"nickname" : "KIM",
"isMajor" : true
} ]
}, {
"recruitType" : "프론트엔드",
"limit" : 3,
"members" : [ ]
} ],
"mine" : false
} ],
"nextCursor" : 1,
"isLast" : true
}
}
9.13.5. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
|
|
다음 조회할 커서 번호 |
|
|
마지막 페이지 여부 |
|
|
리크루트 id |
|
|
카테고리 project|study |
|
|
내가 쓴 글 여부(토큰 기준) |
|
|
리크루트 모집글 제목, 글자 수 제한 50자 |
|
|
리크루트 본문 요약본 최대 50자 |
|
|
yyyy-MM-dd 모집 종료 일자 |
|
|
리크루트 종료 여부 |
|
|
리크루트 참여 멤버 |
|
|
스킬 id 미사용 |
|
|
리크루트와 연관된 기술 스택명, 메타데이터-스킬 목록 조회 참고 |
|
|
리크루트 모집파트, 메타데이터-리크루트 목록 조회 참고 |
|
|
리크루트 모집 인원 제한 1명이상 10명 이하 |
|
|
리크루트 참여자 닉네임 |
|
|
리크루트 참여자 전공 여부 |
9.14. 사용자 스크랩 리크루팅 목록 조회(Offset)
9.14.1. HTTP request
GET /recruits/my-scrap/offset?size=10 HTTP/1.1
Host: api.ssafsound.com
Cookie: accessToken=accessTokenValue
9.14.2. Cookie
Cookie | Description |
---|---|
accessToken |
액세스 토큰 필수 |
9.14.3. Request parameters
Parameter | Description |
---|---|
|
다음 조회 페이지 |
|
페이징 사이즈 |
9.14.4. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 933
{
"code" : "200",
"message" : "success",
"data" : {
"recruits" : [ {
"recruitId" : 1,
"category" : "PROJECT",
"title" : "[사이드 프로젝트] 공모전 레퍼런스 웹 플랫폼 개발 프로젝트 팀원을 모집합니다.",
"finishedRecruit" : false,
"recruitEnd" : "2024-01-06",
"content" : "<p>[프로젝트 소개]</p>\n저희 ",
"skills" : [ {
"skillId" : 1,
"name" : "Spring"
}, {
"skillId" : 2,
"name" : "React"
} ],
"participants" : [ {
"recruitType" : "백엔드",
"limit" : 4,
"members" : [ {
"nickname" : "KIM",
"isMajor" : true
} ]
}, {
"recruitType" : "프론트엔드",
"limit" : 3,
"members" : [ ]
} ],
"mine" : false
} ],
"currentPage" : 1,
"totalPageCount" : 1
}
}
9.14.5. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
|
|
현재 페이지 |
|
|
토탈 페이지 |
|
|
리크루트 id |
|
|
카테고리 project|study |
|
|
내가 쓴 글 여부(토큰 기준) |
|
|
리크루트 모집글 제목, 글자 수 제한 50자 |
|
|
리크루트 본문 요약본 최대 50자 |
|
|
yyyy-MM-dd 모집 종료 일자 |
|
|
리크루트 종료 여부 |
|
|
리크루트 참여 멤버 |
|
|
스킬 id 미사용 |
|
|
리크루트와 연관된 기술 스택명, 메타데이터-스킬 목록 조회 참고 |
|
|
리크루트 모집파트, 메타데이터-리크루트 목록 조회 참고 |
|
|
리크루트 모집 인원 제한 1명이상 10명 이하 |
|
|
리크루트 참여자 닉네임 |
|
|
리크루트 참여자 전공 여부 |
10. 리크루트 참여 신청
10.1. 리크루트 참여 신청
10.1.1. HTTP request
POST /recruits/1/application HTTP/1.1
Content-Type: application/json
Content-Type: application/json
Content-Length: 120
Host: api.ssafsound.com
Cookie: accessToken=accessTokenValue
{
"recruitType" : "프론트엔드",
"contents" : [ "취업 준비를 위해서 신청하게되었습니다." ]
}
10.1.2. Cookie
Cookie | Description |
---|---|
accessToken |
액세스 토큰 필수 |
10.1.3. Path parameters
Parameter | Description |
---|---|
|
리크루트 아이디 |
10.1.4. Request fields
Path | Type | Description |
---|---|---|
|
|
리크루트 작성자가 선택한 자신의 역할군, 메타데이터-리크루트 목록 조회 참고 |
|
|
리크루트 등록자 질문에 대한 사용자 답변, [1개 필수] |
10.1.5. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 132
{
"code" : "200",
"message" : "success",
"data" : {
"recruitApplicationId" : 1,
"matchStatus" : "PENDING"
}
}
10.1.6. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
|
|
리크루트 참여 신청 PK |
|
|
리크루트 참여 신청 매칭 상태 PENDING (등록자 수락 대기상태) | DONE (매칭성공) | REJECT (매칭거절) | CANCEL (매칭 취소) |
10.2. 리크루트 등록자 참여 신청 수락
10.2.1. HTTP request
PATCH /recruit-applications/1/approve HTTP/1.1
Host: api.ssafsound.com
Cookie: accessToken=accessTokenValue
10.2.2. Cookie
Cookie | Description |
---|---|
accessToken |
액세스 토큰 필수 |
10.2.3. Path parameters
Parameter | Description |
---|---|
|
리크루트 참여신청 PK |
10.2.4. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 129
{
"code" : "200",
"message" : "success",
"data" : {
"recruitApplicationId" : 1,
"matchStatus" : "DONE"
}
}
10.2.5. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
|
|
리크루트 참여 신청 PK |
|
|
리크루트 참여 신청 매칭 상태 PENDING (등록자 수락 대기상태) | DONE (매칭성공) | REJECT (매칭거절) | CANCEL (매칭 취소) |
10.3. 리크루트 참여 신청 거절
10.3.1. HTTP request
PATCH /recruit-applications/1/reject HTTP/1.1
Host: api.ssafsound.com
Cookie: accessToken=accessTokenValue
10.3.2. Cookie
Cookie | Description |
---|---|
accessToken |
액세스 토큰 필수 |
10.3.3. Path parameters
Parameter | Description |
---|---|
|
리크루트 참여신청 PK |
10.3.4. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 131
{
"code" : "200",
"message" : "success",
"data" : {
"recruitApplicationId" : 1,
"matchStatus" : "REJECT"
}
}
10.3.5. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
|
|
리크루트 참여 신청 PK |
|
|
리크루트 참여 신청 매칭 상태 PENDING (등록자 수락 대기상태) | DONE (매칭성공) | REJECT (매칭거절) | CANCEL (매칭 취소) |
10.4. 리크루트 신청자 참여 신청 취소
10.4.1. HTTP request
PATCH /recruit-applications/1/cancel HTTP/1.1
Host: api.ssafsound.com
Cookie: accessToken=accessTokenValue
10.4.2. Cookie
Cookie | Description |
---|---|
accessToken |
액세스 토큰 필수 |
10.4.3. Path parameters
Parameter | Description |
---|---|
|
리크루트 참여신청 PK |
10.4.4. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 131
{
"code" : "200",
"message" : "success",
"data" : {
"recruitApplicationId" : 1,
"matchStatus" : "CANCEL"
}
}
10.4.5. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
|
|
리크루트 참여 신청 PK |
|
|
리크루트 참여 신청 매칭 상태 PENDING (등록자 수락 대기상태) | DONE (매칭성공) | REJECT (매칭거절) | CANCEL (매칭 취소) |
10.5. 리크루트 참여자 목록 조회
10.5.1. HTTP request
GET /recruits/1/members HTTP/1.1
Host: api.ssafsound.com
10.5.2. Path parameters
Parameter | Description |
---|---|
|
리크루트 PK |
10.5.3. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 1029
{
"code" : "200",
"message" : "success",
"data" : {
"recruitTypes" : {
"백엔드" : {
"limit" : 4,
"members" : [ {
"recruitApplicationId" : -1,
"joinedAt" : "2023-12-30T20:26:21.5945531",
"memberId" : 99,
"nickname" : "KIM",
"isMajor" : true,
"ssafyInfo" : {
"semester" : 9,
"campus" : "서울",
"certificationState" : "CERTIFIED",
"majorTrack" : "Java"
}
} ]
},
"프론트엔드" : {
"limit" : 3,
"members" : [ {
"recruitApplicationId" : 1,
"joinedAt" : "2023-12-30T20:26:21.7303212",
"memberId" : 99,
"nickname" : "KIM",
"isMajor" : true,
"ssafyInfo" : {
"semester" : 9,
"campus" : "서울",
"certificationState" : "CERTIFIED",
"majorTrack" : "Java"
}
} ]
}
}
}
}
10.5.4. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
|
|
인원 제한 수 |
|
|
참여자 PK |
|
|
참여신청 PK |
|
|
참여 확정일 |
|
|
참여자 닉네임 |
|
|
전공자 여부 |
|
|
참여자 싸피 기수 (1~10) |
|
|
참여자 소속 캠퍼스 메타데이터-캠퍼스 목록 조회 참고 |
|
|
참여자 ssafy 인증 여부 UNCERTIFIED | CERTIFIED |
|
|
전공 트랙 Embedded | Mobile | Python | Java |
10.6. 등록자 리크루트 참여신청 목록 조회
10.6.1. HTTP request
GET /recruit-applications?recruitId=1 HTTP/1.1
Host: api.ssafsound.com
Cookie: accessToken=accessTokenValue
10.6.2. Cookie
Cookie | Description |
---|---|
accessToken |
액세스 토큰 필수 |
10.6.3. Request parameters
Parameter | Description |
---|---|
|
리크루트 PK |
10.6.4. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 922
{
"code" : "200",
"message" : "success",
"data" : {
"category" : "PROJECT",
"recruitId" : 1,
"recruitApplications" : {
"백엔드" : [ ],
"프론트엔드" : [ {
"recruitApplicationId" : 1,
"matchStatus" : "PENDING",
"author" : {
"memberId" : 99,
"nickname" : "KIM",
"memberRole" : "user",
"ssafyMember" : true,
"isMajor" : true,
"ssafyInfo" : {
"semester" : 9,
"campus" : "서울",
"certificationState" : "CERTIFIED",
"majorTrack" : "Java"
}
},
"reply" : "취업 준비를 위해서 신청하게되었습니다.",
"question" : "프로젝트에 참여하고자 하는 동기가 무엇인가요?",
"liked" : false,
"appliedAt" : "2023-12-30T20:26:21.7223214"
} ]
}
}
}
10.6.5. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
|
|
리크루트 PK |
|
|
PROJECT | STUDY |
|
|
리크루트 참여자 현황 |
|
|
리크루트 참여 신청 PK |
|
|
매칭 상태 - (PENDING:등록자 수락대기), (DONE:매칭 성공), (REJECT:매칭 거절), (CANCEL:매칭취소) |
|
|
참여자 PK |
|
|
참여자 닉네임 |
|
|
전공자 여부 |
|
|
참여자 권한 |
|
|
싸피 인증 여부 |
|
|
등록자 질문 |
|
|
참여자 답변 |
|
|
등록자 좋아요 여부 |
|
|
참여 신청일 |
|
|
참여자 싸피 기수 (1~10) |
|
|
참여자 소속 캠퍼스 메타데이터-캠퍼스 목록 조회 참고 |
|
|
참여자 ssafy 인증 여부 UNCERTIFIED | CERTIFIED |
|
|
전공 트랙 Embedded | Mobile | Python | Java |
10.7. 등록자 리크루트 참여신청 좋아요
10.7.1. HTTP request
POST /recruit-applications/1/like HTTP/1.1
Host: api.ssafsound.com
Cookie: accessToken=accessTokenValue
10.7.2. Cookie
Cookie | Description |
---|---|
accessToken |
액세스 토큰 필수 |
10.7.3. Path parameters
Parameter | Description |
---|---|
|
리크루트 참여 신청 PK |
10.7.4. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 88
{
"code" : "200",
"message" : "success",
"data" : {
"liked" : true
}
}
10.7.5. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
|
|
리크루트 참여신청 좋아요 여부 |
10.8. 등록자 리크루트 참여신청 상세 조회
10.8.1. HTTP request
GET /recruit-applications/1 HTTP/1.1
Host: api.ssafsound.com
Cookie: accessToken=accessTokenValue
10.8.2. Cookie
Cookie | Description |
---|---|
accessToken |
액세스 토큰 필수 |
10.8.3. Path parameters
Parameter | Description |
---|---|
|
리크루트 참여 신청 PK |
10.8.4. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 751
{
"code" : "200",
"message" : "success",
"data" : {
"recruitId" : 1,
"recruitApplicationId" : 1,
"recruitType" : "프론트엔드",
"matchStatus" : "PENDING",
"author" : {
"memberId" : 99,
"nickname" : "KIM",
"memberRole" : "user",
"ssafyMember" : true,
"isMajor" : true,
"ssafyInfo" : {
"semester" : 9,
"campus" : "서울",
"certificationState" : "CERTIFIED",
"majorTrack" : "Java"
}
},
"reply" : "취업 준비를 위해서 신청하게되었습니다.",
"question" : "프로젝트에 참여하고자 하는 동기가 무엇인가요?",
"liked" : false,
"appliedAt" : "2023-12-30T20:26:21.7213206"
}
}
10.8.5. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
|
|
리크루트 PK |
|
|
리크루트 참여 신청 PK |
|
|
리크루트 참여 신청자가 선택한 자신의 역할군, 메타데이터-리크루트 목록 조회 참고 |
|
|
매칭 상태 - (PENDING:등록자 수락대기), (DONE:매칭 성공), (REJECT:매칭 거절), (CANCEL:매칭취소) |
|
|
참여자 PK |
|
|
참여자 닉네임 |
|
|
참여자 권한 |
|
|
전공자 여부 |
|
|
싸피 인증 여부 |
|
|
등록자 질문 |
|
|
참여자 답변 |
|
|
등록자 좋아요 여부 |
|
|
신청일 |
|
|
참여자 싸피 기수 (1~10) |
|
|
참여자 소속 캠퍼스 메타데이터-캠퍼스 목록 조회 참고 |
|
|
참여자 ssafy 인증 여부 UNCERTIFIED | CERTIFIED |
|
|
전공 트랙 Embedded | Mobile | Python | Java |
10.9. 등록자 거절한 리크루트 신청 목록 조회
10.9.1. HTTP request
GET /recruit-applications/rejected?recruitId=1 HTTP/1.1
Host: api.ssafsound.com
Cookie: accessToken=accessTokenValue
10.9.2. Cookie
Cookie | Description |
---|---|
accessToken |
액세스 토큰 필수 |
10.9.3. Request parameters
Parameter | Description |
---|---|
|
리크루트 PK |
10.9.4. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 820
{
"code" : "200",
"message" : "success",
"data" : {
"category" : "PROJECT",
"recruitId" : 1,
"recruitApplications" : [ {
"recruitApplicationId" : 1,
"matchStatus" : "REJECT",
"author" : {
"memberId" : 100,
"nickname" : "TIM",
"memberRole" : "user",
"ssafyMember" : true,
"isMajor" : true,
"ssafyInfo" : {
"semester" : 9,
"campus" : "서울",
"certificationState" : "CERTIFIED",
"majorTrack" : "Java"
}
},
"reply" : "취업 준비를 위해서 신청하게되었습니다.",
"question" : "프로젝트에 참여하고자 하는 동기가 무엇인가요?",
"liked" : false,
"appliedAt" : "2023-12-30T20:26:21.7213206"
} ]
}
}
10.9.5. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
|
|
리크루트 PK |
|
|
PROJECT | STUDY |
|
|
리크루트 참여 신청 PK |
|
|
매칭 상태 - (PENDING:등록자 수락대기), (DONE:매칭 성공), (REJECT:매칭 거절), (CANCEL:매칭취소) |
|
|
참여자 PK |
|
|
참여자 닉네임 |
|
|
전공자 여부 |
|
|
참여자 권한 |
|
|
싸피 인증 여부 |
|
|
등록자 질문 |
|
|
참여자 답변 |
|
|
등록자 좋아요 여부 |
|
|
참여 신청일 |
|
|
참여자 싸피 기수 (1~10) |
|
|
참여자 소속 캠퍼스 메타데이터-캠퍼스 목록 조회 참고 |
|
|
참여자 ssafy 인증 여부 UNCERTIFIED | CERTIFIED |
|
|
전공 트랙 Embedded | Mobile | Python | Java |
10.10. 사용자 리크루트 신청서 조회
10.10.1. HTTP request
GET /recruit-applications/mine?recruitId=1 HTTP/1.1
Host: api.ssafsound.com
Cookie: accessToken=accessTokenValue
10.10.2. Cookie
Cookie | Description |
---|---|
accessToken |
액세스 토큰 필수 |
10.10.3. Request parameters
Parameter | Description |
---|---|
|
리크루트 PK |
10.10.4. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 751
{
"code" : "200",
"message" : "success",
"data" : {
"recruitId" : 1,
"recruitApplicationId" : 1,
"recruitType" : "프론트엔드",
"matchStatus" : "PENDING",
"author" : {
"memberId" : 99,
"nickname" : "KIM",
"memberRole" : "user",
"ssafyMember" : true,
"isMajor" : true,
"ssafyInfo" : {
"semester" : 9,
"campus" : "서울",
"certificationState" : "CERTIFIED",
"majorTrack" : "Java"
}
},
"reply" : "취업 준비를 위해서 신청하게되었습니다.",
"question" : "프로젝트에 참여하고자 하는 동기가 무엇인가요?",
"liked" : false,
"appliedAt" : "2023-12-30T20:26:21.7213206"
}
}
10.10.5. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
|
|
리크루트 PK |
|
|
리크루트 참여 신청 PK |
|
|
리크루트 참여 신청자가 선택한 자신의 역할군, 메타데이터-리크루트 목록 조회 참고 |
|
|
매칭 상태 - (PENDING:등록자 수락대기), (DONE:매칭 성공), (REJECT:매칭 거절), (CANCEL:매칭취소) |
|
|
참여자 PK |
|
|
참여자 닉네임 |
|
|
참여자 권한 |
|
|
전공자 여부 |
|
|
싸피 인증 여부 |
|
|
등록자 질문 |
|
|
참여자 답변 |
|
|
등록자 좋아요 여부 |
|
|
신청일 |
|
|
참여자 싸피 기수 (1~10) |
|
|
참여자 소속 캠퍼스 메타데이터-캠퍼스 목록 조회 참고 |
|
|
참여자 ssafy 인증 여부 UNCERTIFIED | CERTIFIED |
|
|
전공 트랙 Embedded | Mobile | Python | Java |
11. 리크루트 덧글
11.1. 리크루트 덧글 등록
11.1.1. HTTP request
POST /recruits/1/comments HTTP/1.1
Content-Type: application/json
Content-Type: application/json
Content-Length: 82
Host: api.ssafsound.com
Cookie: accessToken=accessTokenValue
{
"content" : "공모전 수상이 목표인가요?",
"commentGroup" : -1
}
11.1.2. Cookie
Cookie | Description |
---|---|
accessToken |
액세스 토큰 필수 |
11.1.3. Path parameters
Parameter | Description |
---|---|
|
리크루트 아이디 |
11.1.4. Request fields
Path | Type | Description |
---|---|---|
|
|
리크루트 덧글 내용 |
|
|
default: -1, 대댓글인 경우 해당 상위 덧글의 PK |
11.1.5. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 221
{
"code" : "200 OK",
"message" : "success",
"data" : {
"commentId" : 1,
"content" : "공모전 수상이 목표인가요?",
"memberId" : 99,
"nickname" : "KIM",
"commentGroup" : 1
}
}
11.1.6. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
|
|
리크루트 덧글 PK |
|
|
리크루트 덧글 PK |
|
|
작성자 PK |
|
|
작성자 닉네임 |
|
|
상위 덧글의 ID |
11.2. 리크루트 덧글 삭제
11.2.1. HTTP request
DELETE /recruit-comments/1 HTTP/1.1
Host: api.ssafsound.com
Cookie: accessToken=accessTokenValue
11.2.2. Cookie
Cookie | Description |
---|---|
accessToken |
액세스 토큰 필수 |
11.2.3. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 66
{
"code" : "200",
"message" : "success",
"data" : null
}
11.2.4. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
11.3. 리크루트 덧글 업데이트
11.3.1. HTTP request
PATCH /recruit-comments/1 HTTP/1.1
Content-Type: application/json
Content-Type: application/json
Content-Length: 35
Host: api.ssafsound.com
Cookie: accessToken=accessTokenValue
{
"content" : "덧글 수정"
}
11.3.2. Cookie
Cookie | Description |
---|---|
accessToken |
액세스 토큰 필수 |
11.3.3. Path parameters
Parameter | Description |
---|---|
|
리크루트 덧글 PK |
11.3.4. Request fields
Path | Type | Description |
---|---|---|
|
|
리크루트 덧글 내용 |
11.3.5. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 66
{
"code" : "200",
"message" : "success",
"data" : null
}
11.3.6. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
11.4. 리크루트 덧글 좋아요
11.4.1. HTTP request
POST /recruit-comments/1/like HTTP/1.1
Host: api.ssafsound.com
Cookie: accessToken=accessTokenValue
11.4.2. Cookie
Cookie | Description |
---|---|
accessToken |
액세스 토큰 필수 |
11.4.3. Path parameters
Parameter | Description |
---|---|
|
리크루트 덧글 PK |
11.4.4. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 110
{
"code" : "200",
"message" : "success",
"data" : {
"likeCount" : 1,
"liked" : true
}
}
11.4.5. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
|
|
리크루트 좋아요 갯수 |
|
|
리크루트 좋아요 여부 |
11.5. 리크루트 덧글 목록 조회
11.5.1. HTTP request
GET /recruits/1/comments HTTP/1.1
Host: api.ssafsound.com
11.5.2. Cookie
Cookie | Description |
---|---|
accessToken |
액세스 토큰 옵션(쿠키 유무에 따라 다른 응답을 반환합니다.) |
11.5.3. Path parameters
Parameter | Description |
---|---|
|
리크루트 덧글 PK |
11.5.4. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 772
{
"code" : "200",
"message" : "success",
"data" : {
"recruitComments" : [ {
"commentId" : 1,
"content" : "공모전 수상이 목표인가요?",
"commentGroup" : 1,
"likeCount" : 0,
"liked" : false,
"mine" : false,
"createdAt" : "2023-12-30T20:26:24.1975133",
"deletedComment" : false,
"modified" : false,
"author" : {
"memberId" : 99,
"nickname" : "KIM",
"memberRole" : "user",
"ssafyMember" : true,
"isMajor" : true,
"ssafyInfo" : {
"semester" : 9,
"campus" : "서울",
"certificationState" : "CERTIFIED",
"majorTrack" : "Java"
}
},
"replies" : [ ]
} ]
}
}
11.5.5. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
|
|
리크루트 덧글 PK |
|
|
리크루트 덧글 좋아요 갯수 |
|
|
조회자 리크루트 좋아요 여부 |
|
|
자기 자신이 쓴 좋아요 여부 |
|
|
리크루트 덧글 생성일 |
|
|
리크루트 덧글 수정여부 |
|
|
리크루트 덧글 내용 |
|
|
리크루트 상위 덧글 PK |
|
|
덧글 삭제 여부 |
|
|
대댓글 [최대1개] |
|
|
참여자 PK |
|
|
참여자 닉네임 |
|
|
참여자 권한 |
|
|
싸피생 여부 |
|
|
전공자 여부 |
|
|
기수 |
|
|
캠퍼스 |
|
|
인증상태 |
|
|
전공자 트랙 |
12. 이미지 업로드
12.1. 이미지 업로드 URL 요청
12.1.1. HTTP request
POST /store/image HTTP/1.1
Host: api.ssafsound.com
Cookie: accessToken=accessTokenValue
12.1.2. Cookie
Cookie | Description |
---|---|
accessToken |
액세스 토큰 필수 |
12.1.3. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 671
{
"code" : "200",
"message" : "success",
"data" : {
"imagePath" : "post/3931df90-e81c-47a0-8364-909a7cea7ac9",
"imageUrl" : "https://d39eiex97d56il.cloudfront.net/post/3931df90-e81c-47a0-8364-909a7cea7ac9",
"preSignedUrl" : "https://ssaf-sound-file-server-s3-bucket.s3.ap-northeast-2.amazonaws.com/post/3931df90-e81c-47a0-8364-909a7cea7ac9?x-amz-acl=public-read-write&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20230815T055051Z&X-Amz-SignedHeaders=host&X-Amz-Expires=299&X-Amz-Credential=AKIAQ7OX65EXW5BZE2UI%2F20230815%2Fap-northeast-2%2Fs3%2Faws4_request&X-Amz-Signature=686b867c619ca2bf4ac43336f942e8cdb760ee52483fcbc0ecec906668018fd8"
}
}
12.1.4. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
|
|
스토리지 내 이미지 경로 |
|
|
이미지를 조회할 수 있는 url |
|
|
이미지를 저장할 수 있는 url |
13. 신고
13.1. 신고하기
13.1.1. HTTP request
POST /report HTTP/1.1
Content-Type: application/json
Content-Type: application/json
Content-Length: 70
Host: api.ssafsound.com
Cookie: accessToken=accessTokenValue
{
"sourceType" : "RECRUIT",
"sourceId" : 1,
"reasonId" : 4
}
13.1.2. Request fields
Path | Type | Description |
---|---|---|
|
|
신고 대상 컨텐츠 종류. POST | COMMENT | RECRUIT | RECRUIT_COMMENT |
|
|
신고 대상 컨텐츠 PK |
|
|
신고 사유. |
13.1.3. Cookie
Cookie | Description |
---|---|
accessToken |
액세스 토큰 필수 |
13.1.4. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 66
{
"code" : "200",
"message" : "success",
"data" : null
}
13.1.5. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
14. 알림
14.1. 사용자 알림 목록 조회(Offset)
14.1.1. HTTP request
GET /notifications/offset?page=1&size=10 HTTP/1.1
Host: api.ssafsound.com
Cookie: accessToken=accessTokenValue
14.1.2. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 749
{
"code" : "200",
"message" : "success",
"data" : {
"notifications" : [ {
"notificationId" : 2,
"message" : "'취업 하고싶다~~' 게시글에 새로운 대댓글이 달렸습니다.",
"contentId" : 2,
"serviceType" : "POST",
"notificationType" : "COMMENT_REPLY",
"read" : false,
"createdAt" : "2023-12-30 21:26:19"
}, {
"notificationId" : 1,
"message" : "'오늘 점심 추천좀' 게시글에 새로운 댓글이 달렸습니다.",
"contentId" : 1,
"serviceType" : "POST",
"notificationType" : "POST_REPLY",
"read" : false,
"createdAt" : "2023-12-30 20:26:19"
} ],
"currentPage" : 1,
"totalPageCount" : 1
}
}
14.1.3. Cookie
Cookie | Description |
---|---|
accessToken |
액세스 토큰 필수 |
14.1.4. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
|
|
알림 목록 |
|
|
현재 페이지 번호 |
|
|
전체 페이지 수 |
|
|
알림의 고유 ID |
|
|
알림 메시지 |
|
|
알림 클릭 시 이동할 해당 컨텐츠의 고유 ID, EX) ServiceType이 POST이면 게시글의 id, RECRUIT면 리쿠르트의 id 단, SYSTEM이면 null이 올 수도 있음. |
|
|
알림을 저장한 서비스 타입, SYSTEM | POST | RECRUIT |
|
|
구체적인 알림 타입, SYSTEM | POST_REPLY | COMMENT_REPLY | RECRUIT~ 단, RECRUIT는 추가될 수 있음. |
|
|
새로 들어온 알림인지 여부, 처음 조회된 알림이면 false |
|
|
알림이 저장된 시간, yyyy-MM-dd HH:mm:ss |
14.2. 사용자 알림 목록 조회(Cursor)
14.2.1. HTTP request
GET /notifications/cursor?cursor=-1&size=10 HTTP/1.1
Host: api.ssafsound.com
Cookie: accessToken=accessTokenValue
14.2.2. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 720
{
"code" : "200",
"message" : "success",
"data" : {
"notifications" : [ {
"notificationId" : 2,
"message" : "'취업 하고싶다~~' 게시글에 새로운 대댓글이 달렸습니다.",
"contentId" : 2,
"serviceType" : "POST",
"notificationType" : "COMMENT_REPLY",
"read" : false,
"createdAt" : "2023-12-30 21:26:19"
}, {
"notificationId" : 1,
"message" : "'오늘 점심 추천좀' 게시글에 새로운 댓글이 달렸습니다.",
"contentId" : 1,
"serviceType" : "POST",
"notificationType" : "POST_REPLY",
"read" : false,
"createdAt" : "2023-12-30 20:26:19"
} ],
"cursor" : null
}
}
14.2.3. Cookie
Cookie | Description |
---|---|
accessToken |
액세스 토큰 필수 |
14.2.4. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
|
|
알림 목록 |
|
|
다음에 요청할 cursor값, 응답되는 cursor값이 null이면 다음 페이지는 없음을 의미 |
|
|
알림의 고유 ID |
|
|
알림 메시지 |
|
|
알림 클릭 시 이동할 해당 컨텐츠의 고유 ID, EX) ServiceType이 POST이면 게시글의 id, RECRUIT면 리쿠르트의 id 단, SYSTEM이면 null이 올 수도 있음. |
|
|
알림을 저장한 서비스 타입, SYSTEM | POST | RECRUIT |
|
|
구체적인 알림 타입, SYSTEM | POST_REPLY | COMMENT_REPLY | RECRUIT~ 단, RECRUIT는 추가될 수 있음. |
|
|
새로 들어온 알림인지 여부, 처음 조회된 알림이면 false |
|
|
알림이 저장된 시간, yyyy-MM-dd HH:mm:ss |
14.3. 새로운 알림 확인
14.3.1. HTTP request
GET /notifications/new HTTP/1.1
Host: api.ssafsound.com
Cookie: accessToken=accessTokenValue
14.3.2. HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 88
{
"code" : "200",
"message" : "success",
"data" : {
"isNew" : true
}
}
14.3.3. Cookie
Cookie | Description |
---|---|
accessToken |
액세스 토큰 필수 |
14.3.4. Response fields
Path | Type | Description |
---|---|---|
|
|
응답 코드 |
|
|
응답 메시지 |
|
|
응답 데이터 |
|
|
새로운 알림이 있는지 여부, true면 확인하지 않은 알림이 있다는 의미. |