1. 인증
1.1. 로그인
1.1.1. 성공
HTTP request
POST /v1/auth/login HTTP/1.1
Content-Type: application/json
Host: localhost:44085
Content-Length: 60
{
"email" : "admin@email.com",
"password" : "qwer1234"
}
Request fields
Path | Type | Description |
---|---|---|
|
|
사용자 이메일 |
|
|
사용자 패스워드 |
HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Set-Cookie: accessToken=eyJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6ImFkbWluQGVtYWlsLmNvbSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTczNTAzMDQzNSwiZXhwIjoxNzM2MjQwMDM1fQ.YPpULHejM4_lAk1ntly8n5TgCvEglPQdnp-b7Mlnnf4; Path=/; Domain=localhost; Max-Age=7200; Expires=Tue, 24 Dec 2024 10:53:55 GMT; SameSite=none
Set-Cookie: refreshToken=eyJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6ImFkbWluQGVtYWlsLmNvbSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTczNTAzMDQzNSwiZXhwIjoxNzM2MjQwMDM1fQ.YPpULHejM4_lAk1ntly8n5TgCvEglPQdnp-b7Mlnnf4; Path=/; Domain=localhost; Max-Age=7200; Expires=Tue, 24 Dec 2024 10:53:55 GMT; SameSite=none
Content-Type: application/json
Transfer-Encoding: chunked
Date: Tue, 24 Dec 2024 08:53:55 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 18
{
"clubId" : 2
}
Response headers
Name | Description |
---|---|
|
인증 쿠키 설정 |
Response cookies
Name | Description |
---|---|
|
Access Token |
|
Refresh Token |
1.1.2. 실패: 잘못된 패스워드
HTTP request
POST /v1/auth/login HTTP/1.1
Content-Type: application/json
Host: localhost:44085
Content-Length: 65
{
"email" : "admin@email.com",
"password" : "wrongPassword"
}
Request fields
Path | Type | Description |
---|---|---|
|
|
사용자 이메일 |
|
|
잘못된 패스워드 |
HTTP response
HTTP/1.1 401 Unauthorized
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/problem+json
Transfer-Encoding: chunked
Date: Tue, 24 Dec 2024 08:53:55 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 166
{
"type" : "about:blank",
"title" : "Unauthorized",
"status" : 401,
"detail" : "비밀번호가 일치하지 않습니다.",
"instance" : "/v1/auth/login"
}
1.1.3. 실패: 존재하지 않는 이메일
HTTP request
POST /v1/auth/login HTTP/1.1
Content-Type: application/json
Host: localhost:44085
Content-Length: 114
{
"email" : "invalid@email.com",
"password" : "$2a$10$rG0JsflKdGcORjGFTURYb.npEgtvClK4.3P.EMr/o3SdekrVFxOvG"
}
Request fields
Path | Type | Description |
---|---|---|
|
|
존재하지 않는 이메일 |
|
|
사용자 패스워드 |
HTTP response
HTTP/1.1 404 Not Found
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/problem+json
Transfer-Encoding: chunked
Date: Tue, 24 Dec 2024 08:53:55 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 157
{
"type" : "about:blank",
"title" : "Not Found",
"status" : 404,
"detail" : "존재하지 않는 회원입니다.",
"instance" : "/v1/auth/login"
}
1.2. 로그아웃
1.2.1. 성공
HTTP request
POST /v1/auth/logout HTTP/1.1
Content-Type: application/json
Host: localhost:44085
Cookie: accessToken=eyJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6ImFkbWluQGVtYWlsLmNvbSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTczNTAzMDQzNSwiZXhwIjoxNzM2MjQwMDM1fQ.YPpULHejM4_lAk1ntly8n5TgCvEglPQdnp-b7Mlnnf4
Request cookies
Name | Description |
---|---|
|
사용자 토큰 |
HTTP response
HTTP/1.1 204 No Content
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Set-Cookie: accessToken=; Path=/; Domain=localhost; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; SameSite=none
Set-Cookie: refreshToken=; Path=/; Domain=localhost; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; SameSite=none
Date: Tue, 24 Dec 2024 08:53:55 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Response headers
Name | Description |
---|---|
|
인증 해제 쿠키 설정 |
1.2.2. 실패: 존재하지 않는 토큰
HTTP request
POST /v1/auth/logout HTTP/1.1
Content-Type: application/json
Host: localhost:44085
HTTP response
HTTP/1.1 401 Unauthorized
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/problem+json
Transfer-Encoding: chunked
Date: Tue, 24 Dec 2024 08:53:55 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 171
{
"type" : "about:blank",
"title" : "Unauthorized",
"status" : 401,
"detail" : "로그인 정보가 유효하지 않습니다.",
"instance" : "/v1/auth/logout"
}
2. 사용자
2.1. 사용자 회원가입
2.1.1. 성공
HTTP request
POST /v1/members/signup HTTP/1.1
Content-Type: application/json
Host: localhost:42983
Content-Length: 120
{
"clubName" : "크루루",
"email" : "mail@mail.com",
"password" : "newPassword214!",
"phone" : "01012341234"
}
Request fields
Path | Type | Description |
---|---|---|
|
|
동아리명 |
|
|
사용자 이메일 |
|
|
사용자 패스워드 |
|
|
사용자 전화번호 |
HTTP response
HTTP/1.1 201 Created
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Location: /v1/members/2
Date: Tue, 24 Dec 2024 08:54:04 GMT
Keep-Alive: timeout=60
Connection: keep-alive
2.1.2. 실패: 유효하지 않은 요청
HTTP request
POST /v1/members/signup HTTP/1.1
Content-Type: application/json
Host: localhost:42983
Content-Length: 109
{
"clubName" : "크루루",
"email" : "mail@mail.com",
"password" : "newPassword214!",
"phone" : ""
}
Request fields
Path | Type | Description |
---|---|---|
|
|
동아리명 |
|
|
사용자 이메일 |
|
|
사용자 패스워드 |
|
|
사용자 전화번호 |
HTTP response
HTTP/1.1 400 Bad Request
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/problem+json
Transfer-Encoding: chunked
Date: Tue, 24 Dec 2024 08:54:04 GMT
Connection: close
Content-Length: 170
{
"type" : "about:blank",
"title" : "Bad Request",
"status" : 400,
"detail" : "{phone=전화번호를 입력해주세요.}",
"instance" : "/v1/members/signup"
}
2.1.3. 실패: 인증되지 않은 이메일
HTTP request
POST /v1/members/signup HTTP/1.1
Content-Type: application/json
Host: localhost:42983
Content-Length: 120
{
"clubName" : "크루루",
"email" : "mail@mail.com",
"password" : "newPassword214!",
"phone" : "01012341234"
}
Request fields
Path | Type | Description |
---|---|---|
|
|
동아리명 |
|
|
인증되지 않은 사용자 이메일 |
|
|
사용자 패스워드 |
|
|
사용자 전화번호 |
HTTP response
HTTP/1.1 401 Unauthorized
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/problem+json
Transfer-Encoding: chunked
Date: Tue, 24 Dec 2024 08:54:04 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 162
{
"type" : "about:blank",
"title" : "Unauthorized",
"status" : 401,
"detail" : "로그인 정보가 유효하지 않습니다.",
"instance" : "/error"
}
3. 지원자
3.1. 지원자들의 프로세스 일괄 수정
3.1.1. 성공
HTTP request
PUT /v1/applicants/move-process/2 HTTP/1.1
Content-Type: application/json
Host: localhost:35271
Content-Length: 28
Cookie: accessToken=eyJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6ImFkbWluQGVtYWlsLmNvbSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTczNTAzMDQyMiwiZXhwIjoxNzM2MjQwMDIyfQ.s_VLuSvw2GzLOB3fyTwK_-ceW_TkvNGL626uDlOlzV8
{
"applicantIds" : [ 1 ]
}
Path parameters
Parameter | Description |
---|---|
|
지원자들이 옮겨질 프로세스의 id |
Request cookies
Name | Description |
---|---|
|
사용자 토큰 |
Request fields
Path | Type | Description |
---|---|---|
|
|
프로세스를 옮길 지원자들의 id |
HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Date: Tue, 24 Dec 2024 08:53:42 GMT
Keep-Alive: timeout=60
Connection: keep-alive
3.1.2. 실패: 존재하지 않는 프로세스
HTTP request
PUT /v1/applicants/move-process/-1 HTTP/1.1
Content-Type: application/json
Host: localhost:35271
Content-Length: 28
Cookie: accessToken=eyJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6ImFkbWluQGVtYWlsLmNvbSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTczNTAzMDQyNCwiZXhwIjoxNzM2MjQwMDI0fQ.yhFdqLvy7pn2PRX4K6un_hLqahSn-4xatjs8Rp_yfIU
{
"applicantIds" : [ 1 ]
}
Path parameters
Parameter | Description |
---|---|
|
존재하지 않는 프로세스의 id |
Request cookies
Name | Description |
---|---|
|
사용자 토큰 |
Request fields
Path | Type | Description |
---|---|---|
|
|
프로세스를 옮길 지원자들의 id |
HTTP response
HTTP/1.1 404 Not Found
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/problem+json
Transfer-Encoding: chunked
Date: Tue, 24 Dec 2024 08:53:43 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 174
{
"type" : "about:blank",
"title" : "Not Found",
"status" : 404,
"detail" : "존재하지 않는 Process입니다.",
"instance" : "/v1/applicants/move-process/-1"
}
3.2. 지원자 기본 정보 조회
3.2.1. 성공
HTTP request
GET /v1/applicants/1 HTTP/1.1
Host: localhost:35271
Cookie: accessToken=eyJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6ImFkbWluQGVtYWlsLmNvbSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTczNTAzMDQyNCwiZXhwIjoxNzM2MjQwMDI0fQ.yhFdqLvy7pn2PRX4K6un_hLqahSn-4xatjs8Rp_yfIU
Path parameters
Parameter | Description |
---|---|
|
지원자의 id |
Request cookies
Name | Description |
---|---|
|
사용자 토큰 |
HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Transfer-Encoding: chunked
Date: Tue, 24 Dec 2024 08:53:43 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 261
{
"applicant" : {
"id" : 1,
"name" : "도비",
"email" : "DOBBY@email.com",
"phone" : "01000000000",
"isRejected" : false,
"createdAt" : "2024-12-24T08:53:44.296108"
},
"process" : {
"id" : 1,
"name" : "지원 접수"
}
}
Response fields
Path | Type | Description |
---|---|---|
|
|
지원자의 id |
|
|
지원자의 이름 |
|
|
지원자의 이메일 |
|
|
지원자의 전화번호 |
|
|
지원자의 불합격 여부 |
|
|
지원자의 생성날짜 |
|
|
프로세스의 id |
|
|
프로세스 이름 |
3.2.2. 실패: 존재하지 않는 지원자
HTTP request
GET /v1/applicants/-1 HTTP/1.1
Content-Type: application/json
Host: localhost:35271
Cookie: accessToken=eyJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6ImFkbWluQGVtYWlsLmNvbSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTczNTAzMDQyMCwiZXhwIjoxNzM2MjQwMDIwfQ.qQkBPAU8exVxeFadBCW7BZdOx_pG5cU-gf-zhz_8t1o
Path parameters
Parameter | Description |
---|---|
|
존재하지 않는 지원자의 id |
Request cookies
Name | Description |
---|---|
|
사용자 토큰 |
HTTP response
HTTP/1.1 404 Not Found
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/problem+json
Transfer-Encoding: chunked
Date: Tue, 24 Dec 2024 08:53:42 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 163
{
"type" : "about:blank",
"title" : "Not Found",
"status" : 404,
"detail" : "존재하지 않는 Applicant입니다.",
"instance" : "/v1/applicants/-1"
}
3.3. 지원자 상세 정보 조회
3.3.1. 성공
HTTP request
GET /v1/applicants/1/detail HTTP/1.1
Host: localhost:35271
Cookie: accessToken=eyJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6ImFkbWluQGVtYWlsLmNvbSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTczNTAzMDQyMywiZXhwIjoxNzM2MjQwMDIzfQ.7gFXepYCrqoOSMD4SW0YRf10LmNJk3pbGQWW62z-OdE
Path parameters
Parameter | Description |
---|---|
|
지원자의 id |
Request cookies
Name | Description |
---|---|
|
사용자 토큰 |
HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Transfer-Encoding: chunked
Date: Tue, 24 Dec 2024 08:53:43 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 114
{
"details" : [ {
"orderIndex" : 1,
"question" : "주관식 단답형",
"answer" : "응답1"
} ]
}
Response fields
Path | Type | Description |
---|---|---|
|
|
답변들 |
|
|
순서 |
|
|
질문 |
|
|
질문에 대한 응답 |
3.3.2. 실패: 존재하지 않는 지원자
HTTP request
GET /v1/applicants/-1/detail HTTP/1.1
Host: localhost:35271
Cookie: accessToken=eyJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6ImFkbWluQGVtYWlsLmNvbSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTczNTAzMDQyNCwiZXhwIjoxNzM2MjQwMDI0fQ.yhFdqLvy7pn2PRX4K6un_hLqahSn-4xatjs8Rp_yfIU
Path parameters
Parameter | Description |
---|---|
|
지원자의 id |
Request cookies
Name | Description |
---|---|
|
사용자 토큰 |
HTTP response
HTTP/1.1 404 Not Found
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/problem+json
Transfer-Encoding: chunked
Date: Tue, 24 Dec 2024 08:53:44 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 170
{
"type" : "about:blank",
"title" : "Not Found",
"status" : 404,
"detail" : "존재하지 않는 Applicant입니다.",
"instance" : "/v1/applicants/-1/detail"
}
3.4. 지원자 불합격
3.4.1. 성공
HTTP request
PATCH /v1/applicants/1/reject HTTP/1.1
Host: localhost:35271
Cookie: accessToken=eyJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6ImFkbWluQGVtYWlsLmNvbSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTczNTAzMDQyMywiZXhwIjoxNzM2MjQwMDIzfQ.7gFXepYCrqoOSMD4SW0YRf10LmNJk3pbGQWW62z-OdE
Path parameters
Parameter | Description |
---|---|
|
지원자의 id |
Request cookies
Name | Description |
---|---|
|
사용자 토큰 |
HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Date: Tue, 24 Dec 2024 08:53:43 GMT
Keep-Alive: timeout=60
Connection: keep-alive
3.4.2. 실패: 존재하지 않는 지원자
HTTP request
PATCH /v1/applicants/-1/reject HTTP/1.1
Content-Type: application/json
Host: localhost:35271
Cookie: accessToken=eyJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6ImFkbWluQGVtYWlsLmNvbSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTczNTAzMDQyNSwiZXhwIjoxNzM2MjQwMDI1fQ.LYZpCx0Hm0zjTokotPRztPR3fuROmM8FrcAt1AgwpQg
Path parameters
Parameter | Description |
---|---|
|
지원자의 id |
Request cookies
Name | Description |
---|---|
|
사용자 토큰 |
HTTP response
HTTP/1.1 404 Not Found
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/problem+json
Transfer-Encoding: chunked
Date: Tue, 24 Dec 2024 08:53:44 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 170
{
"type" : "about:blank",
"title" : "Not Found",
"status" : 404,
"detail" : "존재하지 않는 Applicant입니다.",
"instance" : "/v1/applicants/-1/reject"
}
3.4.3. 실패: 이미 불합격한 지원자
HTTP request
PATCH /v1/applicants/1/reject HTTP/1.1
Content-Type: application/json
Host: localhost:35271
Cookie: accessToken=eyJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6ImFkbWluQGVtYWlsLmNvbSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTczNTAzMDQyNCwiZXhwIjoxNzM2MjQwMDI0fQ.yhFdqLvy7pn2PRX4K6un_hLqahSn-4xatjs8Rp_yfIU
Path parameters
Parameter | Description |
---|---|
|
존재하지 않는 지원자의 id |
Request cookies
Name | Description |
---|---|
|
사용자 토큰 |
HTTP response
HTTP/1.1 400 Bad Request
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/problem+json
Transfer-Encoding: chunked
Date: Tue, 24 Dec 2024 08:53:43 GMT
Connection: close
Content-Length: 171
{
"type" : "about:blank",
"title" : "Bad Request",
"status" : 400,
"detail" : "이미 불합격한 지원자입니다.",
"instance" : "/v1/applicants/1/reject"
}
3.5. 지원자 불합격 해제
3.5.1. 성공
HTTP request
PATCH /v1/applicants/1/unreject HTTP/1.1
Host: localhost:35271
Cookie: accessToken=eyJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6ImFkbWluQGVtYWlsLmNvbSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTczNTAzMDQyNCwiZXhwIjoxNzM2MjQwMDI0fQ.yhFdqLvy7pn2PRX4K6un_hLqahSn-4xatjs8Rp_yfIU
Path parameters
Parameter | Description |
---|---|
|
지원자의 id |
Request cookies
Name | Description |
---|---|
|
사용자 토큰 |
HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Date: Tue, 24 Dec 2024 08:53:43 GMT
Keep-Alive: timeout=60
Connection: keep-alive
3.5.2. 실패: 존재하지 않는 지원자
HTTP request
PATCH /v1/applicants/-1/unreject HTTP/1.1
Content-Type: application/json
Host: localhost:35271
Cookie: accessToken=eyJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6ImFkbWluQGVtYWlsLmNvbSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTczNTAzMDQyNCwiZXhwIjoxNzM2MjQwMDI0fQ.yhFdqLvy7pn2PRX4K6un_hLqahSn-4xatjs8Rp_yfIU
Path parameters
Parameter | Description |
---|---|
|
존재하지 않는 지원자의 id |
Request cookies
Name | Description |
---|---|
|
사용자 토큰 |
HTTP response
HTTP/1.1 404 Not Found
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/problem+json
Transfer-Encoding: chunked
Date: Tue, 24 Dec 2024 08:53:43 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 172
{
"type" : "about:blank",
"title" : "Not Found",
"status" : 404,
"detail" : "존재하지 않는 Applicant입니다.",
"instance" : "/v1/applicants/-1/unreject"
}
3.5.3. 실패: 불합격하지 않은 지원자
HTTP request
PATCH /v1/applicants/1/unreject HTTP/1.1
Content-Type: application/json
Host: localhost:35271
Cookie: accessToken=eyJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6ImFkbWluQGVtYWlsLmNvbSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTczNTAzMDQyMywiZXhwIjoxNzM2MjQwMDIzfQ.7gFXepYCrqoOSMD4SW0YRf10LmNJk3pbGQWW62z-OdE
Path parameters
Parameter | Description |
---|---|
|
불합격하지 않는 지원자의 id |
Request cookies
Name | Description |
---|---|
|
사용자 토큰 |
HTTP response
HTTP/1.1 400 Bad Request
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/problem+json
Transfer-Encoding: chunked
Date: Tue, 24 Dec 2024 08:53:43 GMT
Connection: close
Content-Length: 176
{
"type" : "about:blank",
"title" : "Bad Request",
"status" : 400,
"detail" : "불합격하지 않은 지원자입니다.",
"instance" : "/v1/applicants/1/unreject"
}
3.6. 지원자 정보 변경
3.6.1. 성공
HTTP request
PATCH /v1/applicants/1 HTTP/1.1
Content-Type: application/json
Host: localhost:35271
Content-Length: 85
Cookie: accessToken=eyJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6ImFkbWluQGVtYWlsLmNvbSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTczNTAzMDQyNCwiZXhwIjoxNzM2MjQwMDI0fQ.yhFdqLvy7pn2PRX4K6un_hLqahSn-4xatjs8Rp_yfIU
{
"name" : "도비",
"email" : "dev.DOBBY@gmail.com",
"phone" : "01011111111"
}
Path parameters
Parameter | Description |
---|---|
|
지원자의 id |
Request cookies
Name | Description |
---|---|
|
사용자 토큰 |
HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Date: Tue, 24 Dec 2024 08:53:43 GMT
Keep-Alive: timeout=60
Connection: keep-alive
3.6.2. 실패: 존재하지 않는 지원자
HTTP request
PATCH /v1/applicants/-1 HTTP/1.1
Content-Type: application/json
Host: localhost:35271
Content-Length: 85
Cookie: accessToken=eyJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6ImFkbWluQGVtYWlsLmNvbSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTczNTAzMDQyNCwiZXhwIjoxNzM2MjQwMDI0fQ.yhFdqLvy7pn2PRX4K6un_hLqahSn-4xatjs8Rp_yfIU
{
"name" : "도비",
"email" : "dev.DOBBY@gmail.com",
"phone" : "01011111111"
}
Path parameters
Parameter | Description |
---|---|
|
존재하지 않는 지원자의 id |
Request cookies
Name | Description |
---|---|
|
사용자 토큰 |
HTTP response
HTTP/1.1 404 Not Found
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/problem+json
Transfer-Encoding: chunked
Date: Tue, 24 Dec 2024 08:53:43 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 163
{
"type" : "about:blank",
"title" : "Not Found",
"status" : 404,
"detail" : "존재하지 않는 Applicant입니다.",
"instance" : "/v1/applicants/-1"
}
3.7. 지원자 일괄 불합격
3.7.1. 성공
HTTP request
PATCH /v1/applicants/reject HTTP/1.1
Content-Type: application/json
Host: localhost:35271
Content-Length: 31
Cookie: accessToken=eyJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6ImFkbWluQGVtYWlsLmNvbSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTczNTAzMDQyMywiZXhwIjoxNzM2MjQwMDIzfQ.7gFXepYCrqoOSMD4SW0YRf10LmNJk3pbGQWW62z-OdE
{
"applicantIds" : [ 1, 2 ]
}
Request cookies
Name | Description |
---|---|
|
사용자 토큰 |
Request fields
Path | Type | Description |
---|---|---|
|
|
불합격 시킬 지원자들의 id |
HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Date: Tue, 24 Dec 2024 08:53:42 GMT
Keep-Alive: timeout=60
Connection: keep-alive
3.7.2. 실패: 존재하지 않는 지원자
HTTP request
PATCH /v1/applicants/reject HTTP/1.1
Content-Type: application/json
Host: localhost:35271
Content-Length: 29
Cookie: accessToken=eyJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6ImFkbWluQGVtYWlsLmNvbSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTczNTAzMDQyNCwiZXhwIjoxNzM2MjQwMDI0fQ.yhFdqLvy7pn2PRX4K6un_hLqahSn-4xatjs8Rp_yfIU
{
"applicantIds" : [ -1 ]
}
Request cookies
Name | Description |
---|---|
|
사용자 토큰 |
Request fields
Path | Type | Description |
---|---|---|
|
|
존재하지 않는 지원자의 id |
HTTP response
HTTP/1.1 404 Not Found
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/problem+json
Transfer-Encoding: chunked
Date: Tue, 24 Dec 2024 08:53:43 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 167
{
"type" : "about:blank",
"title" : "Not Found",
"status" : 404,
"detail" : "존재하지 않는 Applicant입니다.",
"instance" : "/v1/applicants/reject"
}
3.7.3. 실패: 이미 불합격한 지원자
HTTP request
PATCH /v1/applicants/reject HTTP/1.1
Content-Type: application/json
Host: localhost:35271
Content-Length: 28
Cookie: accessToken=eyJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6ImFkbWluQGVtYWlsLmNvbSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTczNTAzMDQyNCwiZXhwIjoxNzM2MjQwMDI0fQ.yhFdqLvy7pn2PRX4K6un_hLqahSn-4xatjs8Rp_yfIU
{
"applicantIds" : [ 1 ]
}
Request cookies
Name | Description |
---|---|
|
사용자 토큰 |
Request fields
Path | Type | Description |
---|---|---|
|
|
이미 불합격한 지원자의 id |
HTTP response
HTTP/1.1 400 Bad Request
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/problem+json
Transfer-Encoding: chunked
Date: Tue, 24 Dec 2024 08:53:44 GMT
Connection: close
Content-Length: 169
{
"type" : "about:blank",
"title" : "Bad Request",
"status" : 400,
"detail" : "이미 불합격한 지원자입니다.",
"instance" : "/v1/applicants/reject"
}
3.8. 지원자 일괄 불합격 해제
3.8.1. 성공
HTTP request
PATCH /v1/applicants/unreject HTTP/1.1
Content-Type: application/json
Host: localhost:35271
Content-Length: 31
Cookie: accessToken=eyJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6ImFkbWluQGVtYWlsLmNvbSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTczNTAzMDQyMywiZXhwIjoxNzM2MjQwMDIzfQ.7gFXepYCrqoOSMD4SW0YRf10LmNJk3pbGQWW62z-OdE
{
"applicantIds" : [ 1, 2 ]
}
Request cookies
Name | Description |
---|---|
|
사용자 토큰 |
Request fields
Path | Type | Description |
---|---|---|
|
|
불합격 해제시킬 지원자들의 id |
HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Date: Tue, 24 Dec 2024 08:53:42 GMT
Keep-Alive: timeout=60
Connection: keep-alive
3.8.2. 실패: 존재하지 않는 지원자
HTTP request
PATCH /v1/applicants/unreject HTTP/1.1
Content-Type: application/json
Host: localhost:35271
Content-Length: 29
Cookie: accessToken=eyJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6ImFkbWluQGVtYWlsLmNvbSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTczNTAzMDQyMywiZXhwIjoxNzM2MjQwMDIzfQ.7gFXepYCrqoOSMD4SW0YRf10LmNJk3pbGQWW62z-OdE
{
"applicantIds" : [ -1 ]
}
Request cookies
Name | Description |
---|---|
|
사용자 토큰 |
Request fields
Path | Type | Description |
---|---|---|
|
|
존재하지 않는 지원자의 id |
HTTP response
HTTP/1.1 404 Not Found
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/problem+json
Transfer-Encoding: chunked
Date: Tue, 24 Dec 2024 08:53:42 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 169
{
"type" : "about:blank",
"title" : "Not Found",
"status" : 404,
"detail" : "존재하지 않는 Applicant입니다.",
"instance" : "/v1/applicants/unreject"
}
3.8.3. 실패: 불합격 하지 않은 지원자
HTTP request
PATCH /v1/applicants/unreject HTTP/1.1
Content-Type: application/json
Host: localhost:35271
Content-Length: 28
Cookie: accessToken=eyJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6ImFkbWluQGVtYWlsLmNvbSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTczNTAzMDQyNCwiZXhwIjoxNzM2MjQwMDI0fQ.yhFdqLvy7pn2PRX4K6un_hLqahSn-4xatjs8Rp_yfIU
{
"applicantIds" : [ 1 ]
}
Request cookies
Name | Description |
---|---|
|
사용자 토큰 |
Request fields
Path | Type | Description |
---|---|---|
|
|
불합격하지 않은 지원자의 id |
HTTP response
HTTP/1.1 400 Bad Request
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/problem+json
Transfer-Encoding: chunked
Date: Tue, 24 Dec 2024 08:53:44 GMT
Connection: close
Content-Length: 174
{
"type" : "about:blank",
"title" : "Bad Request",
"status" : 400,
"detail" : "불합격하지 않은 지원자입니다.",
"instance" : "/v1/applicants/unreject"
}
4. 동아리
4.1. 동아리 생성
4.1.1. 성공
HTTP request
POST /v1/clubs?memberId=2 HTTP/1.1
Content-Type: application/json
Host: localhost:35271
Content-Length: 33
Cookie: accessToken=eyJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6ImFkbWluQGVtYWlsLmNvbSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTczNTAzMDQzOCwiZXhwIjoxNzM2MjQwMDM4fQ.iKX5M9hMAq0Gu79kt-fJO-qmxOOl_8v6mtGQIeTEr-4
{
"name" : "연합 동아리"
}
Request cookies
Name | Description |
---|---|
|
사용자 토큰 |
Query parameters
Parameter | Description |
---|---|
|
동아리를 생성할 사용자의 id |
Request fields
Path | Type | Description |
---|---|---|
|
|
생성할 동아리의 이름 |
HTTP response
HTTP/1.1 201 Created
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Location: /v1/clubs/2
Date: Tue, 24 Dec 2024 08:53:58 GMT
Keep-Alive: timeout=60
Connection: keep-alive
4.1.2. 실패: 존재하지 않는 사용자
HTTP request
POST /v1/clubs?memberId=-1 HTTP/1.1
Content-Type: application/json
Host: localhost:35271
Content-Length: 33
Cookie: accessToken=eyJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6ImFkbWluQGVtYWlsLmNvbSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTczNTAzMDQzOCwiZXhwIjoxNzM2MjQwMDM4fQ.iKX5M9hMAq0Gu79kt-fJO-qmxOOl_8v6mtGQIeTEr-4
{
"name" : "연합 동아리"
}
Request cookies
Name | Description |
---|---|
|
사용자 토큰 |
Query parameters
Parameter | Description |
---|---|
|
존재하지 않는 사용자의 id |
Request fields
Path | Type | Description |
---|---|---|
|
|
생성할 동아리의 이름 |
HTTP response
HTTP/1.1 404 Not Found
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/problem+json
Transfer-Encoding: chunked
Date: Tue, 24 Dec 2024 08:53:58 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 152
{
"type" : "about:blank",
"title" : "Not Found",
"status" : 404,
"detail" : "존재하지 않는 회원입니다.",
"instance" : "/v1/clubs"
}
4.1.3. 실패: 조건에 맞지 않는 동아리 이름
HTTP request
POST /v1/clubs?memberId=2 HTTP/1.1
Content-Type: application/json
Host: localhost:35271
Content-Length: 17
Cookie: accessToken=eyJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6ImFkbWluQGVtYWlsLmNvbSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTczNTAzMDQzOCwiZXhwIjoxNzM2MjQwMDM4fQ.iKX5M9hMAq0Gu79kt-fJO-qmxOOl_8v6mtGQIeTEr-4
{
"name" : ""
}
Request cookies
Name | Description |
---|---|
|
사용자 토큰 |
Query parameters
Parameter | Description |
---|---|
|
동아리를 생성할 사용자의 id |
Request fields
Path | Type | Description |
---|---|---|
|
|
조건에 맞지 않는 동아리의 이름 |
HTTP response
HTTP/1.1 400 Bad Request
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/problem+json
Transfer-Encoding: chunked
Date: Tue, 24 Dec 2024 08:53:58 GMT
Connection: close
Content-Length: 165
{
"type" : "about:blank",
"title" : "Bad Request",
"status" : 400,
"detail" : "{name=동아리 이름은 필수 값입니다.}",
"instance" : "/v1/clubs"
}
5. 대시보드
5.1. 대시보드 생성
5.1.1. 성공
HTTP request
POST /v1/dashboards?clubId=1 HTTP/1.1
Content-Type: application/json
Host: localhost:35271
Content-Length: 372
Cookie: accessToken=eyJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6ImFkbWluQGVtYWlsLmNvbSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTczNTAzMDQzOSwiZXhwIjoxNzM2MjQwMDM5fQ.wskkzMIcIE3_MWX_uqhn_OW3oNPS8UTHTDjjGQvYOHU
{
"title" : "크루루대시보드",
"postingContent" : "# 공고 내용",
"questions" : [ {
"type" : "DROPDOWN",
"question" : "객관식질문1",
"choices" : [ {
"choice" : "선택지1",
"orderIndex" : 1
} ],
"orderIndex" : 1,
"required" : false
} ],
"startDate" : "2024-08-02T02:00:00",
"endDate" : "2024-08-08T02:00:00"
}
Request cookies
Name | Description |
---|---|
|
사용자 토큰 |
Query parameters
Parameter | Description |
---|---|
|
동아리의 id |
Request fields
Path | Type | Description |
---|---|---|
|
|
공고 제목 |
|
|
공고 내용 |
|
|
질문들 |
|
|
공고 시작 날짜 |
|
|
공고 마감 날짜 |
|
|
질문 유형 |
|
|
질문 내용 |
|
|
질문의 선택지들 |
|
|
질문의 순서 |
|
|
질문의 필수여부 |
|
|
객관식 질문의 선택지 |
|
|
선택지의 순서 |
HTTP response
HTTP/1.1 201 Created
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Location: /v1/dashboards/1
Content-Type: application/json
Transfer-Encoding: chunked
Date: Tue, 24 Dec 2024 08:53:58 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 63
{
"applyFormId" : "659317909717275384",
"dashboardId" : 1
}
5.1.2. 실패: 적절하지 않은 질문 생성
HTTP request
POST /v1/dashboards?clubId=1 HTTP/1.1
Content-Type: application/json
Host: localhost:35271
Content-Length: 370
Cookie: accessToken=eyJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6ImFkbWluQGVtYWlsLmNvbSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTczNTAzMDQzOSwiZXhwIjoxNzM2MjQwMDM5fQ.wskkzMIcIE3_MWX_uqhn_OW3oNPS8UTHTDjjGQvYOHU
{
"title" : "크루루대시보드",
"postingContent" : "# 공고 내용",
"questions" : [ {
"type" : "DROPDOWN",
"question" : "객관식질문",
"choices" : [ {
"choice" : "선택지1",
"orderIndex" : 0
} ],
"orderIndex" : 0,
"required" : null
} ],
"startDate" : "2024-08-02T02:00:00",
"endDate" : "2024-08-08T02:00:00"
}
Request cookies
Name | Description |
---|---|
|
사용자 토큰 |
Query parameters
Parameter | Description |
---|---|
|
동아리의 id |
Request fields
Path | Type | Description |
---|---|---|
|
|
공고 제목 |
|
|
공고 내용 |
|
|
질문들 |
|
|
공고 시작 날짜 |
|
|
공고 마감 날짜 |
|
|
질문 유형 |
|
|
질문 내용 |
|
|
질문의 선택지들 |
|
|
질문의 순서 |
|
|
질문의 필수여부 |
|
|
객관식 질문의 선택지 |
|
|
선택지의 순서 |
HTTP response
HTTP/1.1 400 Bad Request
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/problem+json
Transfer-Encoding: chunked
Date: Tue, 24 Dec 2024 08:53:59 GMT
Connection: close
Content-Length: 163
{
"type" : "about:blank",
"title" : "Bad Request",
"status" : 400,
"detail" : "{questions[0].required=must not be null}",
"instance" : "/v1/dashboards"
}
5.1.3. 실패: 존재하지 않는 동아리
HTTP request
POST /v1/dashboards?clubId=-1 HTTP/1.1
Content-Type: application/json
Host: localhost:35271
Content-Length: 372
Cookie: accessToken=eyJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6ImFkbWluQGVtYWlsLmNvbSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTczNTAzMDQzOSwiZXhwIjoxNzM2MjQwMDM5fQ.wskkzMIcIE3_MWX_uqhn_OW3oNPS8UTHTDjjGQvYOHU
{
"title" : "크루루대시보드",
"postingContent" : "# 공고 내용",
"questions" : [ {
"type" : "DROPDOWN",
"question" : "객관식질문1",
"choices" : [ {
"choice" : "선택지1",
"orderIndex" : 1
} ],
"orderIndex" : 1,
"required" : false
} ],
"startDate" : "2024-08-02T02:00:00",
"endDate" : "2024-08-08T02:00:00"
}
Request cookies
Name | Description |
---|---|
|
사용자 토큰 |
Query parameters
Parameter | Description |
---|---|
|
존재하지 않는 동아리 id |
Request fields
Path | Type | Description |
---|---|---|
|
|
공고 제목 |
|
|
공고 내용 |
|
|
질문들 |
|
|
공고 시작 날짜 |
|
|
공고 마감 날짜 |
|
|
질문 유형 |
|
|
질문 내용 |
|
|
질문의 선택지들 |
|
|
질문의 순서 |
|
|
질문의 필수여부 |
|
|
객관식 질문의 선택지 |
|
|
선택지의 순서 |
HTTP response
HTTP/1.1 404 Not Found
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/problem+json
Transfer-Encoding: chunked
Date: Tue, 24 Dec 2024 08:53:58 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 155
{
"type" : "about:blank",
"title" : "Not Found",
"status" : 404,
"detail" : "존재하지 않는 Club입니다.",
"instance" : "/v1/dashboards"
}
5.2. 대시보드 조회
5.2.1. 성공
HTTP request
GET /v1/dashboards?clubId=1 HTTP/1.1
Host: localhost:35271
Cookie: accessToken=eyJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6ImFkbWluQGVtYWlsLmNvbSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTczNTAzMDQzOSwiZXhwIjoxNzM2MjQwMDM5fQ.wskkzMIcIE3_MWX_uqhn_OW3oNPS8UTHTDjjGQvYOHU
Request cookies
Name | Description |
---|---|
|
사용자 토큰 |
Query parameters
Parameter | Description |
---|---|
|
동아리의 id |
HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Transfer-Encoding: chunked
Date: Tue, 24 Dec 2024 08:53:58 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 356
{
"dashboards" : [ {
"dashboardId" : 1,
"applyFormId" : "659317910166065331",
"title" : "크루루 백엔드 모집 공고",
"stats" : {
"accept" : 0,
"fail" : 0,
"inProgress" : 0,
"total" : 0
},
"startDate" : "2024-07-31T02:00:00",
"endDate" : "2024-08-08T02:00:00"
} ],
"clubName" : "크루루"
}
Response fields
Path | Type | Description |
---|---|---|
|
|
동아리명 |
|
|
대시보드들의 요약 정보 |
|
|
대시보드의 id |
|
|
지원폼의 id |
|
|
지원폼의 공고명 |
|
|
합격 인원 |
|
|
불합격 인원 |
|
|
진행중 인원 |
|
|
인원 총계 |
|
|
시작날짜 |
|
|
마감날짜 |
5.3. 대시보드 삭제
5.3.1. 성공
HTTP request
DELETE /v1/dashboards/1 HTTP/1.1
Host: localhost:35271
Cookie: accessToken=eyJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6ImFkbWluQGVtYWlsLmNvbSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTczNTAzMDQzOSwiZXhwIjoxNzM2MjQwMDM5fQ.wskkzMIcIE3_MWX_uqhn_OW3oNPS8UTHTDjjGQvYOHU
Request cookies
Name | Description |
---|---|
|
사용자 토큰 |
Path parameters
Parameter | Description |
---|---|
|
삭제할 대시보드의 id |
HTTP response
HTTP/1.1 204 No Content
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Date: Tue, 24 Dec 2024 08:53:58 GMT
Keep-Alive: timeout=60
Connection: keep-alive
5.3.2. 실패: 존재하지 않는 대시보드
HTTP request
DELETE /v1/dashboards/-1 HTTP/1.1
Host: localhost:35271
Cookie: accessToken=eyJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6ImFkbWluQGVtYWlsLmNvbSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTczNTAzMDQzOSwiZXhwIjoxNzM2MjQwMDM5fQ.wskkzMIcIE3_MWX_uqhn_OW3oNPS8UTHTDjjGQvYOHU
Request cookies
Name | Description |
---|---|
|
사용자 토큰 |
Path parameters
Parameter | Description |
---|---|
|
존재하지 않는 대시보드의 id |
HTTP response
HTTP/1.1 404 Not Found
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/problem+json
Transfer-Encoding: chunked
Date: Tue, 24 Dec 2024 08:53:58 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 163
{
"type" : "about:blank",
"title" : "Not Found",
"status" : 404,
"detail" : "존재하지 않는 Dashboard입니다.",
"instance" : "/v1/dashboards/-1"
}
6. 프로세스
6.1. 프로세스 목록 조회
6.1.1. 성공
HTTP request
GET /v1/processes?dashboardId=1&minScore=0.00&maxScore=5.00&evaluationStatus=ALL&sortByCreatedAt=DESC&sortByScore=null HTTP/1.1
Host: localhost:35271
Cookie: accessToken=eyJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6ImFkbWluQGVtYWlsLmNvbSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTczNTAzMDQ0NiwiZXhwIjoxNzM2MjQwMDQ2fQ.-BcnLSmUO6PBarwxo5QeYTR9kjKO5zPYdWqRwgKDL38
Request cookies
Name | Description |
---|---|
|
사용자 토큰 |
Query parameters
Parameter | Description |
---|---|
|
대시보드의 id, required=true |
|
지원자 최소 평균 점수: 0.00(default) ~ 5.00, required=false |
|
지원자 최대 평균 점수: 0.00 ~ 5.00(default), required=false |
|
지원자 평가 유무: ALL(default), NOT_EVALUATED, EVALUATED, required=false |
|
지원자 지원 날짜 정렬 조건: DESC, ASC, required=false |
|
지원자 평균 점수 정렬 조건: DESC, ASC, required=false |
HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Transfer-Encoding: chunked
Date: Tue, 24 Dec 2024 08:54:06 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 870
{
"processes" : [ {
"processId" : 1,
"orderIndex" : 0,
"applicants" : [ {
"applicantId" : 1,
"applicantName" : "도비",
"createdAt" : "2024-12-24T08:54:06.906926",
"isRejected" : false,
"evaluationCount" : 0,
"averageScore" : 0.0
} ],
"name" : "지원 접수",
"description" : "지원자가 지원서를 제출하는 단계"
}, {
"processId" : 2,
"orderIndex" : 1,
"applicants" : [ ],
"name" : "1차 면접",
"description" : "화상 면접"
}, {
"processId" : 3,
"orderIndex" : 0,
"applicants" : [ ],
"name" : "지원 접수",
"description" : "지원자가 지원서를 제출하는 단계"
} ],
"applyFormId" : "659317941979861073",
"title" : "크루루 백엔드 모집 공고",
"startDate" : "2024-07-31T02:00:00",
"endDate" : "2024-08-08T02:00:00"
}
Response fields
Path | Type | Description |
---|---|---|
|
|
지원폼의 id |
|
|
프로세스 목록 |
|
|
지원폼의 제목 |
|
|
지원폼 모집 시작일 |
|
|
지원폼 모집 종료일 |
|
|
프로세스의 id |
|
|
프로세스의 순서 |
|
|
프로세스명 |
|
|
프로세스의 설명 |
|
|
프로세스에 속한 지원자들 |
|
|
지원자의 id |
|
|
지원자의 이름 |
|
|
지원자의 지원날짜 |
|
|
지원자의 불합격 여부 |
|
|
지원자의 평가 개수 |
|
|
지원자의 평가 평균 점수 |
6.1.2. 실패: 존재하지 않는 대시보드
HTTP request
GET /v1/processes?dashboardId=0 HTTP/1.1
Host: localhost:35271
Cookie: accessToken=eyJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6ImFkbWluQGVtYWlsLmNvbSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTczNTAzMDQ0NywiZXhwIjoxNzM2MjQwMDQ3fQ.MULM7k5RtXJ6DEMConeqrm7bgr_WDxxIfjW39PyFQic
Request cookies
Name | Description |
---|---|
|
사용자 토큰 |
Query parameters
Parameter | Description |
---|---|
|
존재하지 않는 대시보드의 id |
HTTP response
HTTP/1.1 404 Not Found
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/problem+json
Transfer-Encoding: chunked
Date: Tue, 24 Dec 2024 08:54:06 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 159
{
"type" : "about:blank",
"title" : "Not Found",
"status" : 404,
"detail" : "존재하지 않는 Dashboard입니다.",
"instance" : "/v1/processes"
}
6.2. 프로세스 생성
6.2.1. 성공
HTTP request
POST /v1/processes?dashboardId=1 HTTP/1.1
Content-Type: application/json
Host: localhost:35271
Content-Length: 90
Cookie: accessToken=eyJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6ImFkbWluQGVtYWlsLmNvbSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTczNTAzMDQ0NiwiZXhwIjoxNzM2MjQwMDQ2fQ.-BcnLSmUO6PBarwxo5QeYTR9kjKO5zPYdWqRwgKDL38
{
"processName" : "1차 면접",
"orderIndex" : 1,
"description" : "화상 면접"
}
Request cookies
Name | Description |
---|---|
|
사용자 토큰 |
Query parameters
Parameter | Description |
---|---|
|
대시보드의 id |
Request fields
Path | Type | Description |
---|---|---|
|
|
프로세스명 |
|
|
프로세스의 설명 |
|
|
프로세스의 순서 |
HTTP response
HTTP/1.1 201 Created
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Date: Tue, 24 Dec 2024 08:54:06 GMT
Keep-Alive: timeout=60
Connection: keep-alive
6.2.2. 실패: 존재하지 않는 대시보드
HTTP request
POST /v1/processes?dashboardId=-1 HTTP/1.1
Content-Type: application/json
Host: localhost:35271
Content-Length: 90
Cookie: accessToken=eyJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6ImFkbWluQGVtYWlsLmNvbSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTczNTAzMDQ0NiwiZXhwIjoxNzM2MjQwMDQ2fQ.-BcnLSmUO6PBarwxo5QeYTR9kjKO5zPYdWqRwgKDL38
{
"processName" : "1차 면접",
"orderIndex" : 1,
"description" : "화상 면접"
}
Request cookies
Name | Description |
---|---|
|
사용자 토큰 |
Query parameters
Parameter | Description |
---|---|
|
대시보드의 id |
Request fields
Path | Type | Description |
---|---|---|
|
|
프로세스명 |
|
|
프로세스의 설명 |
|
|
프로세스의 순서 |
HTTP response
HTTP/1.1 404 Not Found
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/problem+json
Transfer-Encoding: chunked
Date: Tue, 24 Dec 2024 08:54:06 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 159
{
"type" : "about:blank",
"title" : "Not Found",
"status" : 404,
"detail" : "존재하지 않는 Dashboard입니다.",
"instance" : "/v1/processes"
}
6.2.3. 실패: 조건에 맞지 않는 프로세스 이름
HTTP request
POST /v1/processes?dashboardId=1 HTTP/1.1
Content-Type: application/json
Host: localhost:35271
Content-Length: 79
Cookie: accessToken=eyJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6ImFkbWluQGVtYWlsLmNvbSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTczNTAzMDQ0NywiZXhwIjoxNzM2MjQwMDQ3fQ.MULM7k5RtXJ6DEMConeqrm7bgr_WDxxIfjW39PyFQic
{
"processName" : "",
"orderIndex" : 1,
"description" : "화상 면접"
}
Request cookies
Name | Description |
---|---|
|
사용자 토큰 |
Query parameters
Parameter | Description |
---|---|
|
대시보드의 id |
Request fields
Path | Type | Description |
---|---|---|
|
|
부적절한 프로세스명 |
|
|
프로세스의 설명 |
|
|
프로세스의 순서 |
HTTP response
HTTP/1.1 400 Bad Request
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/problem+json
Transfer-Encoding: chunked
Date: Tue, 24 Dec 2024 08:54:06 GMT
Connection: close
Content-Length: 172
{
"type" : "about:blank",
"title" : "Bad Request",
"status" : 400,
"detail" : "{name=프로세스 이름은 필수 값입니다.}",
"instance" : "/v1/processes"
}
6.2.4. 실패: 최대 프로세스 개수 초과
HTTP request
POST /v1/processes?dashboardId=1 HTTP/1.1
Content-Type: application/json
Host: localhost:35271
Content-Length: 81
Cookie: accessToken=eyJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6ImFkbWluQGVtYWlsLmNvbSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTczNTAzMDQ0NiwiZXhwIjoxNzM2MjQwMDQ2fQ.-BcnLSmUO6PBarwxo5QeYTR9kjKO5zPYdWqRwgKDL38
{
"processName" : "name",
"orderIndex" : 3,
"description" : "description"
}
Request cookies
Name | Description |
---|---|
|
사용자 토큰 |
Query parameters
Parameter | Description |
---|---|
|
생성할 프로세스의 대시보드 id |
Request fields
Path | Type | Description |
---|---|---|
|
|
프로세스명 |
|
|
프로세스의 설명 |
|
|
프로세스의 순서 |
HTTP response
HTTP/1.1 400 Bad Request
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/problem+json
Transfer-Encoding: chunked
Date: Tue, 24 Dec 2024 08:54:06 GMT
Connection: close
Content-Length: 179
{
"type" : "about:blank",
"title" : "Bad Request",
"status" : 400,
"detail" : "프로세스는 최대 5개까지 생성 가능합니다.",
"instance" : "/v1/processes"
}
6.3. 프로세스 수정
6.3.1. 성공
HTTP request
PATCH /v1/processes/1 HTTP/1.1
Content-Type: application/json
Host: localhost:35271
Content-Length: 81
Cookie: accessToken=eyJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6ImFkbWluQGVtYWlsLmNvbSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTczNTAzMDQ0NiwiZXhwIjoxNzM2MjQwMDQ2fQ.-BcnLSmUO6PBarwxo5QeYTR9kjKO5zPYdWqRwgKDL38
{
"processName" : "임시 과정",
"description" : "수정된 프로세스"
}
Request cookies
Name | Description |
---|---|
|
사용자 토큰 |
Path parameters
Parameter | Description |
---|---|
|
수정될 프로세스의 id |
Request fields
Path | Type | Description |
---|---|---|
|
|
프로세스명 |
|
|
프로세스의 설명 |
HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Transfer-Encoding: chunked
Date: Tue, 24 Dec 2024 08:54:06 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 322
{
"processId" : 1,
"orderIndex" : 0,
"applicants" : [ {
"applicantId" : 1,
"applicantName" : "도비",
"createdAt" : "2024-12-24T08:54:06.839369",
"isRejected" : false,
"evaluationCount" : 0,
"averageScore" : 0.0
} ],
"name" : "임시 과정",
"description" : "수정된 프로세스"
}
Response fields
Path | Type | Description |
---|---|---|
|
|
프로세스의 id |
|
|
프로세스의 순서 |
|
|
프로세스명 |
|
|
프로세스의 설명 |
|
|
프로세스에 속한 지원자들 |
|
|
지원자의 id |
|
|
지원자의 이름 |
|
|
지원자의 지원날짜 |
|
|
지원자의 불합격 여부 |
|
|
지원자의 평가 개수 |
|
|
지원자의 평가 평균 점수 |
6.3.2. 실패: 조건에 맞지 않는 프로세스 이름
HTTP request
PATCH /v1/processes/1 HTTP/1.1
Content-Type: application/json
Host: localhost:35271
Content-Length: 57
Cookie: accessToken=eyJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6ImFkbWluQGVtYWlsLmNvbSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTczNTAzMDQ0NywiZXhwIjoxNzM2MjQwMDQ3fQ.MULM7k5RtXJ6DEMConeqrm7bgr_WDxxIfjW39PyFQic
{
"processName" : "",
"description" : "description"
}
Request cookies
Name | Description |
---|---|
|
사용자 토큰 |
Path parameters
Parameter | Description |
---|---|
|
수정될 프로세스의 id |
Request fields
Path | Type | Description |
---|---|---|
|
|
조건에 맞지 않는 프로세스 이름 |
|
|
수정될 프로세스 설명 |
HTTP response
HTTP/1.1 400 Bad Request
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/problem+json
Transfer-Encoding: chunked
Date: Tue, 24 Dec 2024 08:54:06 GMT
Connection: close
Content-Length: 184
{
"type" : "about:blank",
"title" : "Bad Request",
"status" : 400,
"detail" : "{name=수정할 프로세스 이름은 필수 값입니다.}",
"instance" : "/v1/processes/1"
}
6.3.3. 실패: 존재하지 않는 프로세스
HTTP request
PATCH /v1/processes/-1 HTTP/1.1
Content-Type: application/json
Host: localhost:35271
Content-Length: 81
Cookie: accessToken=eyJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6ImFkbWluQGVtYWlsLmNvbSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTczNTAzMDQ0NiwiZXhwIjoxNzM2MjQwMDQ2fQ.-BcnLSmUO6PBarwxo5QeYTR9kjKO5zPYdWqRwgKDL38
{
"processName" : "임시 과정",
"description" : "수정된 프로세스"
}
Request cookies
Name | Description |
---|---|
|
사용자 토큰 |
Path parameters
Parameter | Description |
---|---|
|
수정될 프로세스의 id |
Request fields
Path | Type | Description |
---|---|---|
|
|
조건에 맞지 않는 프로세스 이름 |
|
|
수정될 프로세스 설명 |
HTTP response
HTTP/1.1 404 Not Found
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/problem+json
Transfer-Encoding: chunked
Date: Tue, 24 Dec 2024 08:54:06 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 160
{
"type" : "about:blank",
"title" : "Not Found",
"status" : 404,
"detail" : "존재하지 않는 Process입니다.",
"instance" : "/v1/processes/-1"
}
6.4. 프로세스 삭제
6.4.1. 성공
HTTP request
DELETE /v1/processes/1 HTTP/1.1
Host: localhost:35271
Cookie: accessToken=eyJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6ImFkbWluQGVtYWlsLmNvbSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTczNTAzMDQ0NiwiZXhwIjoxNzM2MjQwMDQ2fQ.-BcnLSmUO6PBarwxo5QeYTR9kjKO5zPYdWqRwgKDL38
Request cookies
Name | Description |
---|---|
|
사용자 토큰 |
Path parameters
Parameter | Description |
---|---|
|
생성할 프로세스의 대시보드 id |
HTTP response
HTTP/1.1 204 No Content
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Date: Tue, 24 Dec 2024 08:54:06 GMT
Keep-Alive: timeout=60
Connection: keep-alive
6.4.2. 실패: 존재하지 않는 프로세스
HTTP request
DELETE /v1/processes/-1 HTTP/1.1
Host: localhost:35271
Cookie: accessToken=eyJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6ImFkbWluQGVtYWlsLmNvbSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTczNTAzMDQ0NiwiZXhwIjoxNzM2MjQwMDQ2fQ.-BcnLSmUO6PBarwxo5QeYTR9kjKO5zPYdWqRwgKDL38
Request cookies
Name | Description |
---|---|
|
사용자 토큰 |
Path parameters
Parameter | Description |
---|---|
|
삭제할 프로세스의 id |
HTTP response
HTTP/1.1 404 Not Found
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/problem+json
Transfer-Encoding: chunked
Date: Tue, 24 Dec 2024 08:54:06 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 160
{
"type" : "about:blank",
"title" : "Not Found",
"status" : 404,
"detail" : "존재하지 않는 Process입니다.",
"instance" : "/v1/processes/-1"
}
6.4.3. 실패: 처음 혹은 마지막 프로세스
HTTP request
DELETE /v1/processes/1 HTTP/1.1
Host: localhost:35271
Cookie: accessToken=eyJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6ImFkbWluQGVtYWlsLmNvbSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTczNTAzMDQ0NywiZXhwIjoxNzM2MjQwMDQ3fQ.MULM7k5RtXJ6DEMConeqrm7bgr_WDxxIfjW39PyFQic
Request cookies
Name | Description |
---|---|
|
사용자 토큰 |
Path parameters
Parameter | Description |
---|---|
|
삭제할 프로세스의 id |
HTTP response
HTTP/1.1 400 Bad Request
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/problem+json
Transfer-Encoding: chunked
Date: Tue, 24 Dec 2024 08:54:06 GMT
Connection: close
Content-Length: 169
{
"type" : "about:blank",
"title" : "Bad Request",
"status" : 400,
"detail" : "삭제가 불가능한 프로세스입니다.",
"instance" : "/v1/processes/1"
}
6.4.4. 실패: 지원자가 존재하는 프로세스
HTTP request
DELETE /v1/processes/-1 HTTP/1.1
Host: localhost:35271
Cookie: accessToken=eyJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6ImFkbWluQGVtYWlsLmNvbSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTczNTAzMDQ0NiwiZXhwIjoxNzM2MjQwMDQ2fQ.-BcnLSmUO6PBarwxo5QeYTR9kjKO5zPYdWqRwgKDL38
Request cookies
Name | Description |
---|---|
|
사용자 토큰 |
Path parameters
Parameter | Description |
---|---|
|
삭제할 프로세스의 id |
HTTP response
HTTP/1.1 404 Not Found
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/problem+json
Transfer-Encoding: chunked
Date: Tue, 24 Dec 2024 08:54:06 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 160
{
"type" : "about:blank",
"title" : "Not Found",
"status" : 404,
"detail" : "존재하지 않는 Process입니다.",
"instance" : "/v1/processes/-1"
}
7. 질문
7.1. 질문 변경
7.1.1. 성공
HTTP request
PATCH /v1/questions?applyformId=659317944743907348 HTTP/1.1
Content-Type: application/json
Host: localhost:35271
Content-Length: 221
Cookie: accessToken=eyJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6ImFkbWluQGVtYWlsLmNvbSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTczNTAzMDQ0NywiZXhwIjoxNzM2MjQwMDQ3fQ.MULM7k5RtXJ6DEMConeqrm7bgr_WDxxIfjW39PyFQic
{
"questions" : [ {
"type" : "LONG_ANSWER",
"question" : "new",
"choices" : [ {
"choice" : "좋아하는 음식은?",
"orderIndex" : 0
} ],
"orderIndex" : 0,
"required" : true
} ]
}
Request cookies
Name | Description |
---|---|
|
사용자 토큰 |
Query parameters
Parameter | Description |
---|---|
|
질문을 변경할 지원폼의 id |
Request fields
Path | Type | Description |
---|---|---|
|
|
변경할 질문들 |
|
|
질문의 유형 |
|
|
질문 내용 |
|
|
질문의 선택지들 |
|
|
질문의 순서 |
|
|
질문의 필수 여부 |
|
|
선택지의 내용 |
|
|
선택지의 순서 |
HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Date: Tue, 24 Dec 2024 08:54:06 GMT
Keep-Alive: timeout=60
Connection: keep-alive
7.1.2. 실패: 존재하지 않는 지원폼
HTTP request
PATCH /v1/questions?applyformId=-1 HTTP/1.1
Content-Type: application/json
Host: localhost:35271
Content-Length: 221
Cookie: accessToken=eyJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6ImFkbWluQGVtYWlsLmNvbSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTczNTAzMDQ0NywiZXhwIjoxNzM2MjQwMDQ3fQ.MULM7k5RtXJ6DEMConeqrm7bgr_WDxxIfjW39PyFQic
{
"questions" : [ {
"type" : "LONG_ANSWER",
"question" : "new",
"choices" : [ {
"choice" : "좋아하는 음식은?",
"orderIndex" : 0
} ],
"orderIndex" : 0,
"required" : true
} ]
}
Request cookies
Name | Description |
---|---|
|
사용자 토큰 |
Query parameters
Parameter | Description |
---|---|
|
존재하지 않는 지원폼의 id |
Request fields
Path | Type | Description |
---|---|---|
|
|
변경할 질문들 |
|
|
질문의 유형 |
|
|
질문 내용 |
|
|
질문의 선택지들 |
|
|
질문의 순서 |
|
|
질문의 필수 여부 |
|
|
선택지의 내용 |
|
|
선택지의 순서 |
HTTP response
HTTP/1.1 404 Not Found
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/problem+json
Transfer-Encoding: chunked
Date: Tue, 24 Dec 2024 08:54:06 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 159
{
"type" : "about:blank",
"title" : "Not Found",
"status" : 404,
"detail" : "존재하지 않는 ApplyForm입니다.",
"instance" : "/v1/questions"
}
8. 지원폼
8.1. 지원폼 제출
8.1.1. 성공
HTTP request
POST /v1/applyform/659317874879385680/submit HTTP/1.1
Content-Type: application/json
Host: localhost:35271
Content-Length: 332
{
"applicant" : {
"name" : "초코칩",
"email" : "dev.chocochip@gmail.com",
"phone" : "01000000000"
},
"answers" : [ {
"questionId" : 1,
"replies" : [ "안녕하세요, 맛있는 초코칩입니다." ]
}, {
"questionId" : 2,
"replies" : [ "온라인" ]
} ],
"personalDataCollection" : true
}
Path parameters
Parameter | Description |
---|---|
|
지원폼의 id |
Request fields
Path | Type | Description |
---|---|---|
|
|
지원자의 이름 |
|
|
지원자의 이메일 |
|
|
지원자의 전화번호 |
|
|
지원폼에 대한 응답 모음 |
|
|
개인정보 활용 동의 여부 |
|
|
질문의 id |
|
|
질문에 대한 응답 |
HTTP response
HTTP/1.1 201 Created
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Location: /v1/applyform/659317874879385680
Date: Tue, 24 Dec 2024 08:53:50 GMT
Keep-Alive: timeout=60
Connection: keep-alive
8.1.2. 실패: 개인정보 활용 거부
HTTP request
POST /v1/applyform/659317874141188158/submit HTTP/1.1
Content-Type: application/json
Host: localhost:35271
Content-Length: 333
{
"applicant" : {
"name" : "초코칩",
"email" : "dev.chocochip@gmail.com",
"phone" : "01000000000"
},
"answers" : [ {
"questionId" : 1,
"replies" : [ "안녕하세요, 맛있는 초코칩입니다." ]
}, {
"questionId" : 2,
"replies" : [ "온라인" ]
} ],
"personalDataCollection" : false
}
Path parameters
Parameter | Description |
---|---|
|
지원폼의 id |
Request fields
Path | Type | Description |
---|---|---|
|
|
지원자의 이름 |
|
|
지원자의 이메일 |
|
|
지원자의 전화번호 |
|
|
지원폼에 대한 응답 모음 |
|
|
개인정보 활용 동의 거부 |
|
|
질문의 id |
|
|
질문에 대한 응답 |
HTTP response
HTTP/1.1 400 Bad Request
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/problem+json
Transfer-Encoding: chunked
Date: Tue, 24 Dec 2024 08:53:50 GMT
Connection: close
Content-Length: 201
{
"type" : "about:blank",
"title" : "Bad Request",
"status" : 400,
"detail" : "개인 정보 수집에 동의하지 않았습니다.",
"instance" : "/v1/applyform/659317874141188158/submit"
}
8.1.3. 실패: 잘못된 지원자 정보
HTTP request
POST /v1/applyform/659317879094661272/submit HTTP/1.1
Content-Type: application/json
Host: localhost:35271
Content-Length: 260
{
"applicant" : {
"name" : "초코칩",
"email" : "dev.chocochip@gmail.com",
"phone" : ""
},
"answers" : [ {
"questionId" : 1,
"replies" : [ "안녕하세요, 맛있는 초코칩입니다." ]
} ],
"personalDataCollection" : true
}
Path parameters
Parameter | Description |
---|---|
|
지원폼의 id |
Request fields
Path | Type | Description |
---|---|---|
|
|
지원자의 이름 |
|
|
지원자의 이메일 |
|
|
지원자의 전화번호 |
|
|
지원폼에 대한 응답 모음 |
|
|
개인정보 활용 동의 여부 |
|
|
질문의 id |
|
|
질문에 대한 응답 |
HTTP response
HTTP/1.1 400 Bad Request
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/problem+json
Transfer-Encoding: chunked
Date: Tue, 24 Dec 2024 08:53:51 GMT
Connection: close
Content-Length: 215
{
"type" : "about:blank",
"title" : "Bad Request",
"status" : 400,
"detail" : "{applicantCreateRequest.phone=전화번호는 필수 값입니다.}",
"instance" : "/v1/applyform/659317879094661272/submit"
}
8.1.4. 실패: 잘못된 답변
HTTP request
POST /v1/applyform/659317877454688507/submit HTTP/1.1
Content-Type: application/json
Host: localhost:35271
Content-Length: 223
{
"applicant" : {
"name" : "초코칩",
"email" : "dev.chocochip@gmail.com",
"phone" : "01000000000"
},
"answers" : [ {
"questionId" : 1,
"replies" : null
} ],
"personalDataCollection" : true
}
Path parameters
Parameter | Description |
---|---|
|
지원폼의 id |
Request fields
Path | Type | Description |
---|---|---|
|
|
지원자의 이름 |
|
|
지원자의 이메일 |
|
|
지원자의 전화번호 |
|
|
지원폼에 대한 응답 모음 |
|
|
개인정보 활용 동의 여부 |
|
|
질문의 id |
|
|
질문에 대한 응답 |
HTTP response
HTTP/1.1 400 Bad Request
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/problem+json
Transfer-Encoding: chunked
Date: Tue, 24 Dec 2024 08:53:50 GMT
Connection: close
Content-Length: 211
{
"type" : "about:blank",
"title" : "Bad Request",
"status" : 400,
"detail" : "{answerCreateRequest[0].replies=응답은 필수 값입니다.}",
"instance" : "/v1/applyform/659317877454688507/submit"
}
8.1.5. 실패: 대시보드 내에 제출 프로세스 존재하지 않을 경우
HTTP request
POST /v1/applyform/659317875579834426/submit HTTP/1.1
Content-Type: application/json
Host: localhost:35271
Content-Length: 234
{
"applicant" : {
"name" : "초코칩",
"email" : "dev.chocochip@gmail.com",
"phone" : "01000000000"
},
"answers" : [ {
"questionId" : 1,
"replies" : [ "온라인" ]
} ],
"personalDataCollection" : true
}
Path parameters
Parameter | Description |
---|---|
|
지원폼의 id |
Request fields
Path | Type | Description |
---|---|---|
|
|
지원자의 이름 |
|
|
지원자의 이메일 |
|
|
지원자의 전화번호 |
|
|
지원폼에 대한 응답 모음 |
|
|
개인정보 활용 동의 여부 |
|
|
질문의 id |
|
|
질문에 대한 응답 |
HTTP response
HTTP/1.1 500 Internal Server Error
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/problem+json
Transfer-Encoding: chunked
Date: Tue, 24 Dec 2024 08:53:50 GMT
Connection: close
Content-Length: 204
{
"type" : "about:blank",
"title" : "Internal Server Error",
"status" : 500,
"detail" : "서버 내부에 오류가 발생했습니다.",
"instance" : "/v1/applyform/659317875579834426/submit"
}
8.1.6. 실패: 모집 기간을 벗어난 제출
HTTP request
POST /v1/applyform/659317876099928247/submit HTTP/1.1
Content-Type: application/json
Host: localhost:35271
Content-Length: 234
{
"applicant" : {
"name" : "초코칩",
"email" : "dev.chocochip@gmail.com",
"phone" : "01000000000"
},
"answers" : [ {
"questionId" : 1,
"replies" : [ "온라인" ]
} ],
"personalDataCollection" : true
}
Path parameters
Parameter | Description |
---|---|
|
지원폼의 id |
Request fields
Path | Type | Description |
---|---|---|
|
|
지원자의 이름 |
|
|
지원자의 이메일 |
|
|
지원자의 전화번호 |
|
|
지원폼에 대한 응답 모음 |
|
|
개인정보 활용 동의 여부 |
|
|
질문의 id |
|
|
질문에 대한 응답 |
HTTP response
HTTP/1.1 400 Bad Request
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/problem+json
Transfer-Encoding: chunked
Date: Tue, 24 Dec 2024 08:53:50 GMT
Connection: close
Content-Length: 178
{
"type" : "about:blank",
"title" : "Bad Request",
"status" : 400,
"detail" : "접수 기간이 아닙니다.",
"instance" : "/v1/applyform/659317876099928247/submit"
}
8.1.7. 실패: 존재하지 않는 지원폼
HTTP request
POST /v1/applyform/-1/submit HTTP/1.1
Content-Type: application/json
Host: localhost:35271
Content-Length: 234
{
"applicant" : {
"name" : "초코칩",
"email" : "dev.chocochip@gmail.com",
"phone" : "01000000000"
},
"answers" : [ {
"questionId" : 1,
"replies" : [ "온라인" ]
} ],
"personalDataCollection" : true
}
Path parameters
Parameter | Description |
---|---|
|
존재하지 않는 지원폼의 id |
Request fields
Path | Type | Description |
---|---|---|
|
|
지원자의 이름 |
|
|
지원자의 이메일 |
|
|
지원자의 전화번호 |
|
|
지원폼에 대한 응답 모음 |
|
|
개인정보 활용 동의 여부 |
|
|
질문의 id |
|
|
질문에 대한 응답 |
HTTP response
HTTP/1.1 404 Not Found
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/problem+json
Transfer-Encoding: chunked
Date: Tue, 24 Dec 2024 08:53:50 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 173
{
"type" : "about:blank",
"title" : "Not Found",
"status" : 404,
"detail" : "존재하지 않는 지원서 폼입니다.",
"instance" : "/v1/applyform/-1/submit"
}
8.1.8. 실패: 존재하지 않는 질문
HTTP request
POST /v1/applyform/659317876980731933/submit HTTP/1.1
Content-Type: application/json
Host: localhost:35271
Content-Length: 235
{
"applicant" : {
"name" : "초코칩",
"email" : "dev.chocochip@gmail.com",
"phone" : "01000000000"
},
"answers" : [ {
"questionId" : -1,
"replies" : [ "온라인" ]
} ],
"personalDataCollection" : true
}
Path parameters
Parameter | Description |
---|---|
|
지원폼의 id |
Request fields
Path | Type | Description |
---|---|---|
|
|
지원자의 이름 |
|
|
지원자의 이메일 |
|
|
지원자의 전화번호 |
|
|
지원폼에 대한 응답 모음 |
|
|
개인정보 활용 동의 여부 |
|
|
존재하지 않는 질문의 id |
|
|
질문에 대한 응답 |
HTTP response
HTTP/1.1 400 Bad Request
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/problem+json
Transfer-Encoding: chunked
Date: Tue, 24 Dec 2024 08:53:50 GMT
Connection: close
Content-Length: 232
{
"type" : "about:blank",
"title" : "Bad Request",
"status" : 400,
"detail" : "{answerCreateRequest[0].questionId=질문 식별자는 0 이상의 정수입니다.}",
"instance" : "/v1/applyform/659317876980731933/submit"
}
8.1.9. 실패: 필수 질문에 응답하지 않음
HTTP request
POST /v1/applyform/659317875273650323/submit HTTP/1.1
Content-Type: application/json
Host: localhost:35271
Content-Length: 174
{
"applicant" : {
"name" : "초코칩",
"email" : "dev.chocochip@gmail.com",
"phone" : "01000000000"
},
"answers" : [ ],
"personalDataCollection" : true
}
Path parameters
Parameter | Description |
---|---|
|
지원폼의 id |
Request fields
Path | Type | Description |
---|---|---|
|
|
지원자의 이름 |
|
|
지원자의 이메일 |
|
|
지원자의 전화번호 |
|
|
지원폼에 대한 응답 모음 |
|
|
개인정보 활용 동의 여부 |
HTTP response
HTTP/1.1 400 Bad Request
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/problem+json
Transfer-Encoding: chunked
Date: Tue, 24 Dec 2024 08:53:50 GMT
Connection: close
Content-Length: 201
{
"type" : "about:blank",
"title" : "Bad Request",
"status" : 400,
"detail" : "응답하지 않은 필수 질문이 존재합니다.",
"instance" : "/v1/applyform/659317875273650323/submit"
}
8.2. 지원폼 조회
8.2.1. 성공
HTTP request
GET /v1/applyform/659317876355780636 HTTP/1.1
Content-Type: application/json
Host: localhost:35271
Cookie: accessToken=eyJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6ImFkbWluQGVtYWlsLmNvbSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTczNTAzMDQzMSwiZXhwIjoxNzM2MjQwMDMxfQ._Xg9TJcjCK-OgAn1q2rQF8tjde4Io2bo0_WC1JbHOgk
Path parameters
Parameter | Description |
---|---|
|
지원폼의 id |
HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Transfer-Encoding: chunked
Date: Tue, 24 Dec 2024 08:53:50 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 945
{
"postingContent" : "# 모집공고 설명1 ## 이렇게 지원하세요",
"questions" : [ {
"label" : "주관식 단답형",
"choices" : [ ],
"id" : 1,
"type" : "SHORT_ANSWER",
"orderIndex" : 1,
"required" : false
}, {
"label" : "객관식 다중 선택",
"choices" : [ {
"label" : "1번 선택지",
"id" : 1,
"orderIndex" : 1
}, {
"label" : "2번 선택지",
"id" : 2,
"orderIndex" : 2
}, {
"label" : "3번 선택지",
"id" : 3,
"orderIndex" : 3
}, {
"label" : "4번 선택지",
"id" : 4,
"orderIndex" : 4
}, {
"label" : "5번 선택지",
"id" : 5,
"orderIndex" : 5
} ],
"id" : 2,
"type" : "MULTIPLE_CHOICE",
"orderIndex" : 4,
"required" : false
} ],
"title" : "크루루 백엔드 모집 공고",
"startDate" : "2024-07-31T02:00:00",
"endDate" : "2024-08-08T02:00:00"
}
Response fields
Path | Type | Description |
---|---|---|
|
|
지원폼의 제목 |
|
|
지원자의 내용(본문) |
|
|
지원 가능 날짜 |
|
|
지원 마감 날짜 |
|
|
지원폼의 질문들 |
|
|
질문의 id |
|
|
질문 유형 |
|
|
질문의 내용 |
|
|
질문 순서 |
|
|
질문의 선택지 |
|
|
질문 필수여부 |
|
|
선택지의 id |
|
|
선택지의 내용 |
|
|
선택지 순서 |
8.2.2. 실패: 존재하지 않는 지원폼
HTTP request
GET /v1/applyform/-1 HTTP/1.1
Content-Type: application/json
Host: localhost:35271
Cookie: accessToken=eyJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6ImFkbWluQGVtYWlsLmNvbSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTczNTAzMDQzMSwiZXhwIjoxNzM2MjQwMDMxfQ._Xg9TJcjCK-OgAn1q2rQF8tjde4Io2bo0_WC1JbHOgk
Path parameters
Parameter | Description |
---|---|
|
존재하지 않는 지원폼의 id |
HTTP response
HTTP/1.1 404 Not Found
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/problem+json
Transfer-Encoding: chunked
Date: Tue, 24 Dec 2024 08:53:51 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 166
{
"type" : "about:blank",
"title" : "Not Found",
"status" : 404,
"detail" : "존재하지 않는 지원서 폼입니다.",
"instance" : "/v1/applyform/-1"
}
8.3. 지원폼 수정
8.3.1. 성공
HTTP request
PATCH /v1/applyform/659317876691324980 HTTP/1.1
Content-Type: application/json
Host: localhost:35271
Content-Length: 178
Cookie: accessToken=eyJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6ImFkbWluQGVtYWlsLmNvbSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTczNTAzMDQzMSwiZXhwIjoxNzM2MjQwMDMxfQ._Xg9TJcjCK-OgAn1q2rQF8tjde4Io2bo0_WC1JbHOgk
{
"title" : "크루루 백엔드 모집 공고~~",
"postingContent" : "# 모집 공고 설명 #",
"startDate" : "2024-08-02T02:00:00",
"endDate" : "2024-08-08T02:00:00"
}
Request cookies
Name | Description |
---|---|
|
사용자 토큰 |
Path parameters
Parameter | Description |
---|---|
|
지원폼의 id |
Request fields
Path | Type | Description |
---|---|---|
|
|
지원폼 제목 |
|
|
지원폼 내용(본문) |
|
|
지원 시작 날짜 |
|
|
지원 마감 날짜 |
HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Date: Tue, 24 Dec 2024 08:53:50 GMT
Keep-Alive: timeout=60
Connection: keep-alive
8.3.2. 실패: 존재하지 않는 지원폼
HTTP request
PATCH /v1/applyform/-1 HTTP/1.1
Content-Type: application/json
Host: localhost:35271
Content-Length: 178
Cookie: accessToken=eyJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6ImFkbWluQGVtYWlsLmNvbSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTczNTAzMDQzMSwiZXhwIjoxNzM2MjQwMDMxfQ._Xg9TJcjCK-OgAn1q2rQF8tjde4Io2bo0_WC1JbHOgk
{
"title" : "크루루 백엔드 모집 공고~~",
"postingContent" : "# 모집 공고 설명 #",
"startDate" : "2024-08-02T02:00:00",
"endDate" : "2024-08-08T02:00:00"
}
Path parameters
Parameter | Description |
---|---|
|
존재하지 않는 지원폼의 id |
Request fields
Path | Type | Description |
---|---|---|
|
|
지원폼 제목 |
|
|
지원폼 내용(본문) |
|
|
지원 시작 날짜 |
|
|
지원 마감 날짜 |
HTTP response
HTTP/1.1 404 Not Found
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/problem+json
Transfer-Encoding: chunked
Date: Tue, 24 Dec 2024 08:53:50 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 162
{
"type" : "about:blank",
"title" : "Not Found",
"status" : 404,
"detail" : "존재하지 않는 ApplyForm입니다.",
"instance" : "/v1/applyform/-1"
}
9. 평가
9.1. 평가 생성
9.1.1. 성공
HTTP request
POST /v1/evaluations?processId=1&applicantId=1 HTTP/1.1
Content-Type: application/json
Host: localhost:35271
Content-Length: 93
Cookie: accessToken=eyJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6ImFkbWluQGVtYWlsLmNvbSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTczNTAzMDQyNSwiZXhwIjoxNzM2MjQwMDI1fQ.LYZpCx0Hm0zjTokotPRztPR3fuROmM8FrcAt1AgwpQg
{
"evaluator" : "김도엽",
"score" : 4,
"content" : "서류가 인상적입니다."
}
Request cookies
Name | Description |
---|---|
|
사용자 토큰 |
Query parameters
Parameter | Description |
---|---|
|
프로세스의 id |
|
지원자의 id |
Request fields
Path | Type | Description |
---|---|---|
|
|
평가자 이름 |
|
|
평가 점수 |
|
|
평가 주관식 내용 |
HTTP response
HTTP/1.1 201 Created
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Location: /v1/evaluations?processId=1&applicantId=1
Date: Tue, 24 Dec 2024 08:53:44 GMT
Keep-Alive: timeout=60
Connection: keep-alive
9.1.2. 실패: 존재하지 않는 지원자
HTTP request
POST /v1/evaluations?processId=1&applicantId=-1 HTTP/1.1
Content-Type: application/json
Host: localhost:35271
Content-Length: 93
Cookie: accessToken=eyJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6ImFkbWluQGVtYWlsLmNvbSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTczNTAzMDQyNSwiZXhwIjoxNzM2MjQwMDI1fQ.LYZpCx0Hm0zjTokotPRztPR3fuROmM8FrcAt1AgwpQg
{
"evaluator" : "김도엽",
"score" : 4,
"content" : "서류가 인상적입니다."
}
Request cookies
Name | Description |
---|---|
|
사용자 토큰 |
Query parameters
Parameter | Description |
---|---|
|
프로세스의 id |
|
존재하지 않는 지원자의 id |
Request fields
Path | Type | Description |
---|---|---|
|
|
평가자 이름 |
|
|
평가 점수 |
|
|
평가 주관식 내용 |
HTTP response
HTTP/1.1 404 Not Found
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/problem+json
Transfer-Encoding: chunked
Date: Tue, 24 Dec 2024 08:53:44 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 161
{
"type" : "about:blank",
"title" : "Not Found",
"status" : 404,
"detail" : "존재하지 않는 Applicant입니다.",
"instance" : "/v1/evaluations"
}
9.1.3. 실패: 존재하지 않는 프로세스
HTTP request
POST /v1/evaluations?processId=-1&applicantId=1 HTTP/1.1
Content-Type: application/json
Host: localhost:35271
Content-Length: 93
Cookie: accessToken=eyJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6ImFkbWluQGVtYWlsLmNvbSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTczNTAzMDQyNSwiZXhwIjoxNzM2MjQwMDI1fQ.LYZpCx0Hm0zjTokotPRztPR3fuROmM8FrcAt1AgwpQg
{
"evaluator" : "김도엽",
"score" : 4,
"content" : "서류가 인상적입니다."
}
Request cookies
Name | Description |
---|---|
|
사용자 토큰 |
Query parameters
Parameter | Description |
---|---|
|
존재하지 않는 프로세스의 id |
|
지원자의 id |
Request fields
Path | Type | Description |
---|---|---|
|
|
평가자 이름 |
|
|
평가 점수 |
|
|
평가 주관식 내용 |
HTTP response
HTTP/1.1 404 Not Found
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/problem+json
Transfer-Encoding: chunked
Date: Tue, 24 Dec 2024 08:53:45 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 159
{
"type" : "about:blank",
"title" : "Not Found",
"status" : 404,
"detail" : "존재하지 않는 Process입니다.",
"instance" : "/v1/evaluations"
}
9.1.4. 실패: 조건에 맞지 않는 평가 점수
HTTP request
POST /v1/evaluations?processId=1&applicantId=1 HTTP/1.1
Content-Type: application/json
Host: localhost:35271
Content-Length: 94
Cookie: accessToken=eyJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6ImFkbWluQGVtYWlsLmNvbSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTczNTAzMDQyNSwiZXhwIjoxNzM2MjQwMDI1fQ.LYZpCx0Hm0zjTokotPRztPR3fuROmM8FrcAt1AgwpQg
{
"evaluator" : "김도엽",
"score" : -4,
"content" : "서류가 인상적입니다."
}
Request cookies
Name | Description |
---|---|
|
사용자 토큰 |
Query parameters
Parameter | Description |
---|---|
|
프로세스의 id |
|
지원자의 id |
Request fields
Path | Type | Description |
---|---|---|
|
|
평가자 이름 |
|
|
적절하지 않은 평가 점수 |
|
|
평가 주관식 내용 |
HTTP response
HTTP/1.1 400 Bad Request
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/problem+json
Transfer-Encoding: chunked
Date: Tue, 24 Dec 2024 08:53:44 GMT
Connection: close
Content-Length: 186
{
"type" : "about:blank",
"title" : "Bad Request",
"status" : 400,
"detail" : "{score=평가 점수는 1 이상 5 이하의 정수입니다.}",
"instance" : "/v1/evaluations"
}
9.2. 평가 조회
9.2.1. 성공
HTTP request
GET /v1/evaluations?processId=1&applicantId=1 HTTP/1.1
Content-Type: application/json
Host: localhost:35271
Cookie: accessToken=eyJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6ImFkbWluQGVtYWlsLmNvbSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTczNTAzMDQyNSwiZXhwIjoxNzM2MjQwMDI1fQ.LYZpCx0Hm0zjTokotPRztPR3fuROmM8FrcAt1AgwpQg
Request cookies
Name | Description |
---|---|
|
사용자 토큰 |
Query parameters
Parameter | Description |
---|---|
|
프로세스의 id |
|
지원자의 id |
HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Transfer-Encoding: chunked
Date: Tue, 24 Dec 2024 08:53:45 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 205
{
"evaluations" : [ {
"evaluationId" : 1,
"evaluator" : "김도엽",
"score" : 5,
"content" : "서류가 인상 깊었습니다.",
"createdDate" : "2024-12-24T08:53:45.822252"
} ]
}
Response fields
Path | Type | Description |
---|---|---|
|
|
평가 목록 |
|
|
평가의 id |
|
|
평가자 이름 |
|
|
평가 점수 |
|
|
평가 내용 |
|
|
평가 생성 날짜 |
9.2.2. 실패: 존재하지 않는 지원자
HTTP request
GET /v1/evaluations?processId=1&applicantId=-1 HTTP/1.1
Content-Type: application/json
Host: localhost:35271
Cookie: accessToken=eyJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6ImFkbWluQGVtYWlsLmNvbSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTczNTAzMDQyNSwiZXhwIjoxNzM2MjQwMDI1fQ.LYZpCx0Hm0zjTokotPRztPR3fuROmM8FrcAt1AgwpQg
Request cookies
Name | Description |
---|---|
|
사용자 토큰 |
Query parameters
Parameter | Description |
---|---|
|
프로세스의 id |
|
지원자의 id |
HTTP response
HTTP/1.1 404 Not Found
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/problem+json
Transfer-Encoding: chunked
Date: Tue, 24 Dec 2024 08:53:44 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 161
{
"type" : "about:blank",
"title" : "Not Found",
"status" : 404,
"detail" : "존재하지 않는 Applicant입니다.",
"instance" : "/v1/evaluations"
}
9.2.3. 실패: 존재하지 않는 프로세스
HTTP request
GET /v1/evaluations?processId=-1&applicantId=1 HTTP/1.1
Content-Type: application/json
Host: localhost:35271
Cookie: accessToken=eyJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6ImFkbWluQGVtYWlsLmNvbSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTczNTAzMDQyNSwiZXhwIjoxNzM2MjQwMDI1fQ.LYZpCx0Hm0zjTokotPRztPR3fuROmM8FrcAt1AgwpQg
Request cookies
Name | Description |
---|---|
|
사용자 토큰 |
Query parameters
Parameter | Description |
---|---|
|
프로세스의 id |
|
지원자의 id |
HTTP response
HTTP/1.1 404 Not Found
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/problem+json
Transfer-Encoding: chunked
Date: Tue, 24 Dec 2024 08:53:44 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 159
{
"type" : "about:blank",
"title" : "Not Found",
"status" : 404,
"detail" : "존재하지 않는 Process입니다.",
"instance" : "/v1/evaluations"
}
9.3. 평가 변경
9.3.1. 성공
HTTP request
PATCH /v1/evaluations/1 HTTP/1.1
Content-Type: application/json
Host: localhost:35271
Content-Length: 93
Cookie: accessToken=eyJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6ImFkbWluQGVtYWlsLmNvbSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTczNTAzMDQyNSwiZXhwIjoxNzM2MjQwMDI1fQ.LYZpCx0Hm0zjTokotPRztPR3fuROmM8FrcAt1AgwpQg
{
"evaluator" : "김형호",
"score" : 2,
"content" : "맞춤법이 틀렸습니다."
}
Request cookies
Name | Description |
---|---|
|
사용자 토큰 |
Path parameters
Parameter | Description |
---|---|
|
평가의 id |
Request fields
Path | Type | Description |
---|---|---|
|
|
평가자 이름 |
|
|
평가 점수 |
|
|
평가 주관식 내용 |
HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Date: Tue, 24 Dec 2024 08:53:44 GMT
Keep-Alive: timeout=60
Connection: keep-alive
9.3.2. 실패: 존재하지 않는 평가
HTTP request
PATCH /v1/evaluations/-1 HTTP/1.1
Content-Type: application/json
Host: localhost:35271
Content-Length: 93
Cookie: accessToken=eyJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6ImFkbWluQGVtYWlsLmNvbSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTczNTAzMDQyNSwiZXhwIjoxNzM2MjQwMDI1fQ.LYZpCx0Hm0zjTokotPRztPR3fuROmM8FrcAt1AgwpQg
{
"evaluator" : "김형호",
"score" : 2,
"content" : "맞춤법이 틀렸습니다."
}
Request cookies
Name | Description |
---|---|
|
사용자 토큰 |
Path parameters
Parameter | Description |
---|---|
|
존재하지 않는 평가의 id |
HTTP response
HTTP/1.1 404 Not Found
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/problem+json
Transfer-Encoding: chunked
Date: Tue, 24 Dec 2024 08:53:45 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 165
{
"type" : "about:blank",
"title" : "Not Found",
"status" : 404,
"detail" : "존재하지 않는 Evaluation입니다.",
"instance" : "/v1/evaluations/-1"
}
9.3.3. 실패: 조건에 맞지 않는 평가 점수
HTTP request
PATCH /v1/evaluations/1 HTTP/1.1
Content-Type: application/json
Host: localhost:35271
Content-Length: 94
Cookie: accessToken=eyJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6ImFkbWluQGVtYWlsLmNvbSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTczNTAzMDQyNiwiZXhwIjoxNzM2MjQwMDI2fQ.bChhbbMmbHWeSpGqn3Pfu3dbHZ8AteE8KInCC5tiRWs
{
"evaluator" : "김형호",
"score" : -1,
"content" : "맞춤법이 틀렸습니다."
}
Request cookies
Name | Description |
---|---|
|
사용자 토큰 |
Path parameters
Parameter | Description |
---|---|
|
평가의 id |
Request fields
Path | Type | Description |
---|---|---|
|
|
평가자 이름 |
|
|
적절하지 않은 평가 점수 |
|
|
평가 주관식 내용 |
HTTP response
HTTP/1.1 400 Bad Request
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/problem+json
Transfer-Encoding: chunked
Date: Tue, 24 Dec 2024 08:53:45 GMT
Connection: close
Content-Length: 188
{
"type" : "about:blank",
"title" : "Bad Request",
"status" : 400,
"detail" : "{score=평가 점수는 1 이상 5 이하의 정수입니다.}",
"instance" : "/v1/evaluations/1"
}
9.4. 평가 삭제
9.4.1. 성공
HTTP request
DELETE /v1/evaluations/1 HTTP/1.1
Host: localhost:35271
Cookie: accessToken=eyJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6ImFkbWluQGVtYWlsLmNvbSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTczNTAzMDQyNSwiZXhwIjoxNzM2MjQwMDI1fQ.LYZpCx0Hm0zjTokotPRztPR3fuROmM8FrcAt1AgwpQg
Request cookies
Name | Description |
---|---|
|
사용자 토큰 |
Path parameters
Parameter | Description |
---|---|
|
삭제할 평가 id |
HTTP response
HTTP/1.1 204 No Content
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Date: Tue, 24 Dec 2024 08:53:44 GMT
Keep-Alive: timeout=60
Connection: keep-alive
10. 이메일
10.1. 이메일 발송 및 발송 내역 생성
10.1.1. 성공
HTTP request
POST /v1/emails/send HTTP/1.1
Content-Type: multipart/form-data; boundary="N46ky0nsyjeCvMI2wXKwyj4KjhbqqrqN"; boundary=6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Host: localhost:42983
Cookie: accessToken=eyJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6ImFkbWluQGVtYWlsLmNvbSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTczNTAzMDQ0MSwiZXhwIjoxNzM2MjQwMDQxfQ.XUUagRWVuG2eRG5qTSJ0TICT006BdpJSVvdLJUkt0JI
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Content-Disposition: form-data; name=clubId; filename=file
Content-Type: text/plain
1
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Content-Disposition: form-data; name=applicantIds; filename=file
Content-Type: text/plain
1
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Content-Disposition: form-data; name=subject; filename=file
Content-Type: text/plain
[우아한테크코스] 7기 최종 심사 결과 안내
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Content-Disposition: form-data; name=content; filename=file
Content-Type: text/plain
우아한테크코스 합격을 진심으로 축하합니다!
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Content-Disposition: form-data; name=files; filename=email_test.txt
Content-Type: application/octet-stream
이메일 발송 테스트용 파일
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm--
Request cookies
Name | Description |
---|---|
|
사용자 토큰 |
Request parts
Part | Description |
---|---|
|
발송 동아리 id |
|
수신자 id 목록 |
|
이메일 제목 |
|
이메일 본문 |
|
이메일 첨부 파일 |
HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Date: Tue, 24 Dec 2024 08:54:01 GMT
Keep-Alive: timeout=60
Connection: keep-alive
10.1.2. 실패: 이메일 형식이 올바르지 않은 이메일 형식
HTTP request
POST /v1/emails/send HTTP/1.1
Content-Type: multipart/form-data; boundary="TvPHQpgTKy8Q7TrsqZcMiXrn5tl0JPLZaGU-_i_"; boundary=6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Host: localhost:42983
Cookie: accessToken=eyJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6ImFkbWluQGVtYWlsLmNvbSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTczNTAzMDQ0MiwiZXhwIjoxNzM2MjQwMDQyfQ.r304ZkO8PKKdWfju8fLs6wJSF1DWoAuDqAhsSZz56jY
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Content-Disposition: form-data; name=clubId; filename=file
Content-Type: text/plain
1
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Content-Disposition: form-data; name=applicantIds; filename=file
Content-Type: text/plain
-1
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Content-Disposition: form-data; name=subject; filename=file
Content-Type: text/plain
[우아한테크코스] 7기 최종 심사 결과 안내
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Content-Disposition: form-data; name=content; filename=file
Content-Type: text/plain
우아한테크코스 합격을 진심으로 축하합니다!
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Content-Disposition: form-data; name=files; filename=email_test.txt
Content-Type: application/octet-stream
이메일 발송 테스트용 파일
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm--
Request cookies
Name | Description |
---|---|
|
사용자 토큰 |
Request parts
Part | Description |
---|---|
|
발송 동아리 id |
|
적절하지 않은 수신자 id가 포함된 목록 |
|
이메일 제목 |
|
이메일 본문 |
|
이메일 첨부 파일 |
HTTP response
HTTP/1.1 404 Not Found
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/problem+json
Transfer-Encoding: chunked
Date: Tue, 24 Dec 2024 08:54:01 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 161
{
"type" : "about:blank",
"title" : "Not Found",
"status" : 404,
"detail" : "존재하지 않는 Applicant입니다.",
"instance" : "/v1/emails/send"
}
10.1.3. 실패: 존재하지 않는 동아리
HTTP request
POST /v1/emails/send HTTP/1.1
Content-Type: multipart/form-data; boundary="6uax_JEIR11MTU6hT8JyT-tEWO1Lhoyf"; boundary=6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Host: localhost:42983
Cookie: accessToken=eyJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6ImFkbWluQGVtYWlsLmNvbSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTczNTAzMDQ0MiwiZXhwIjoxNzM2MjQwMDQyfQ.r304ZkO8PKKdWfju8fLs6wJSF1DWoAuDqAhsSZz56jY
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Content-Disposition: form-data; name=clubId; filename=file
Content-Type: text/plain
-1
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Content-Disposition: form-data; name=applicantIds; filename=file
Content-Type: text/plain
1
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Content-Disposition: form-data; name=subject; filename=file
Content-Type: text/plain
[우아한테크코스] 7기 최종 심사 결과 안내
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Content-Disposition: form-data; name=content; filename=file
Content-Type: text/plain
우아한테크코스 합격을 진심으로 축하합니다!
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Content-Disposition: form-data; name=files; filename=email_test.txt
Content-Type: application/octet-stream
이메일 발송 테스트용 파일
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm--
Request cookies
Name | Description |
---|---|
|
사용자 토큰 |
Request parts
Part | Description |
---|---|
|
존재하지 않는 발송 동아리 id |
|
수신자 id 목록 |
|
이메일 제목 |
|
이메일 본문 |
|
이메일 첨부 파일 |
HTTP response
HTTP/1.1 404 Not Found
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/problem+json
Transfer-Encoding: chunked
Date: Tue, 24 Dec 2024 08:54:01 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 156
{
"type" : "about:blank",
"title" : "Not Found",
"status" : 404,
"detail" : "존재하지 않는 Club입니다.",
"instance" : "/v1/emails/send"
}
10.2. 이메일 인증 번호 발송
10.2.1. 성공
HTTP request
POST /v1/emails/verification-code HTTP/1.1
Content-Type: application/json
Host: localhost:42983
Content-Length: 33
{
"email" : "email@email.com"
}
Request fields
Path | Type | Description |
---|---|---|
|
|
인증 번호를 전송할 이메일 |
HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Date: Tue, 24 Dec 2024 08:54:01 GMT
Keep-Alive: timeout=60
Connection: keep-alive
10.2.2. 실패: 이메일 형식이 올바르지 않은 이메일 형식
HTTP request
POST /v1/emails/verification-code HTTP/1.1
Content-Type: application/json
Host: localhost:42983
Content-Length: 30
{
"email" : "invalidEmail"
}
Request fields
Path | Type | Description |
---|---|---|
|
|
부적절한 이메일 |
HTTP response
HTTP/1.1 400 Bad Request
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/problem+json
Transfer-Encoding: chunked
Date: Tue, 24 Dec 2024 08:54:01 GMT
Connection: close
Content-Length: 180
{
"type" : "about:blank",
"title" : "Bad Request",
"status" : 400,
"detail" : "{email=must be a well-formed email address}",
"instance" : "/v1/emails/verification-code"
}
10.2.3. 실패: 이미 가입된 이메일
HTTP request
POST /v1/emails/verification-code HTTP/1.1
Content-Type: application/json
Host: localhost:42983
Content-Length: 33
{
"email" : "dobby@email.com"
}
Request fields
Path | Type | Description |
---|---|---|
|
|
이미 가입된 이메일 |
HTTP response
HTTP/1.1 409 Conflict
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/problem+json
Transfer-Encoding: chunked
Date: Tue, 24 Dec 2024 08:54:01 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 170
{
"type" : "about:blank",
"title" : "Conflict",
"status" : 409,
"detail" : "이미 가입된 이메일입니다.",
"instance" : "/v1/emails/verification-code"
}
10.3. 이메일 인증 확인
10.3.1. 성공
HTTP request
POST /v1/emails/verify-code HTTP/1.1
Content-Type: application/json
Host: localhost:42983
Content-Length: 66
{
"email" : "email@email.com",
"verificationCode" : "123456"
}
Request fields
Path | Type | Description |
---|---|---|
|
|
인증할 이메일 |
|
|
인증 번호 |
HTTP response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Date: Tue, 24 Dec 2024 08:54:01 GMT
Keep-Alive: timeout=60
Connection: keep-alive
10.3.2. 실패: 이메일 형식이 올바르지 않은 이메일 형식
HTTP request
POST /v1/emails/verify-code HTTP/1.1
Content-Type: application/json
Host: localhost:42983
Content-Length: 63
{
"email" : "invalidEmail",
"verificationCode" : "123456"
}
Request fields
Path | Type | Description |
---|---|---|
|
|
부적절한 이메일 형식 |
|
|
인증 번호 |
HTTP response
HTTP/1.1 400 Bad Request
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/problem+json
Transfer-Encoding: chunked
Date: Tue, 24 Dec 2024 08:54:01 GMT
Connection: close
Content-Length: 174
{
"type" : "about:blank",
"title" : "Bad Request",
"status" : 400,
"detail" : "{email=must be a well-formed email address}",
"instance" : "/v1/emails/verify-code"
}
10.3.3. 실패: 인증 번호가 없는 이메일
HTTP request
POST /v1/emails/verify-code HTTP/1.1
Content-Type: application/json
Host: localhost:42983
Content-Length: 67
{
"email" : "no-code@mail.com",
"verificationCode" : "123456"
}
Request fields
Path | Type | Description |
---|---|---|
|
|
인증 번호가 없는 이메일 |
|
|
인증 번호 |
HTTP response
HTTP/1.1 400 Bad Request
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/problem+json
Transfer-Encoding: chunked
Date: Tue, 24 Dec 2024 08:54:01 GMT
Connection: close
Content-Length: 193
{
"type" : "about:blank",
"title" : "Bad Request",
"status" : 400,
"detail" : "인증 코드가 존재하지 않거나 만료되었습니다.",
"instance" : "/v1/emails/verify-code"
}
10.3.4. 실패: 인증 번호가 다른 이메일
HTTP request
POST /v1/emails/verify-code HTTP/1.1
Content-Type: application/json
Host: localhost:42983
Content-Length: 66
{
"email" : "email@email.com",
"verificationCode" : "654321"
}
Request fields
Path | Type | Description |
---|---|---|
|
|
인증할 이메일 |
|
|
적절하지 않은 인증 번호 |
HTTP response
HTTP/1.1 400 Bad Request
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/problem+json
Transfer-Encoding: chunked
Date: Tue, 24 Dec 2024 08:54:01 GMT
Connection: close
Content-Length: 193
{
"type" : "about:blank",
"title" : "Bad Request",
"status" : 400,
"detail" : "인증 코드가 존재하지 않거나 만료되었습니다.",
"instance" : "/v1/emails/verify-code"
}