[미소 클론코딩 프로젝트] 2-8. 이용자 서비스 API 설계 - 협력업체 관리
2023.08.12 - [초기 과업/BackEnd] - [미소 클론코딩 프로젝트] 2-7. 이용자 서비스 API 설계 - 광고용 서비스
[미소 클론코딩 프로젝트] 2-7. 이용자 서비스 API 설계 - 광고용 서비스
2023.08.11 - [초기 과업/BackEnd] - [미소 클론코딩 프로젝트] 2-6. 이용자 서비스 API 설계 - 계약서 서비스 [미소 클론코딩 프로젝트] 2-6. 이용자 서비스 API 설계 - 계약서 서비스 2023.08.11 - [초기 과업/Bac
giggal-people.tistory.com
안녕하세요. 기깔나는 사람들에서 백엔드를 맡고있는 황시아입니다.
저번 시간에 협력업체에서 등록한 광고를 확인할 수 있는 API들을 설계해 보았습니다.
이번 시간엔 협력업체를 관리할 수 있는 API를 설계해 보겠습니다.
협력업체 관리 API
협력업체를 등록하고 계약을 진행할 수 있는 서비스입니다.
협력업체 목록 조회
Request
API 호출 방식
요청 URL | 메서드 |
/api/vendors | GET |
Request Header
Request Header에 대한 상세는 다음과 같습니다.
파라미터 | 타입 | 필수 여부 | 설명 |
Authorization | String | 필수 | Bearer {JWT_TOKEN} - {JWT_TOKEN} : 로그인 JWT 토큰 |
Content-Type | String | 필수 | application/json이어야 함 |
Request Syntax
curl -X GET http://{BASE_URL}/api/vendors \
-H "Content-Type: application/json;charset=utf-8" \
-H "Authorization: Bearer {JWT_TOKEN}"
Response
Response Elements
Response Elements에 대한 상세는 다음과 같습니다.
필드 | 상위 필드 | 타입 | 필수 여부 | 설명 |
statusCode | Integer | 필수 | API 공통 가이드 - 공통 Response 참조 | |
message |
String | 필수 | API 공통 가이드 - 공통 Response 참조 | |
data |
Object[] | 필수 | 협력업체 목록 | |
id | data | Integer | 필수 | 협력업체 고유번호 |
name | data | String | 필수 | 협력업체명 |
Response Syntax
{
"statusCode": 200,
"message": "성공"
"data": [
{
"id": 1,
"name": "협력업체명1"
},
{
"id": 2,
"name": "협력업체명2"
}
]
}
특정 협력업체 조회
Request
API 호출 방식
요청 URL | 메서드 |
/api/vendors/{id} | GET |
Request Header
Request Header에 대한 상세는 다음과 같습니다.
파라미터 | 타입 | 필수 여부 | 설명 |
Authorization | String | 필수 | Bearer {JWT_TOKEN} - {JWT_TOKEN} : 로그인 JWT 토큰 |
Content-Type | String | 필수 | application/json이어야 함 |
Request Syntax
curl -X GET http://{BASE_URL}/api/vendors/{id} \
-H "Content-Type: application/json;charset=utf-8" \
-H "Authorization: Bearer {JWT_TOKEN}"
Response
Response Elements
Response Elements에 대한 상세는 다음과 같습니다.
필드 | 상위 필드 | 타입 | 필수 여부 | 설명 |
statusCode | Integer | 필수 | API 공통 가이드 - 공통 Response 참조 | |
message |
String | 필수 | API 공통 가이드 - 공통 Response 참조 | |
data |
Object | 필수 | 협력업체 정보 | |
id | data | Integer | 필수 | 협력업체 고유번호 |
name | data | String | 필수 | 협력업체명 |
representative | data | String | 필수 | 대표자명 |
contact |
data | String | 필수 | 연락처 |
data | String | 필수 | 이메일 | |
corporationNumber | data | String | 필수 | 사업자등록번호 |
since | data | String | 필수 | 업력 |
businessRegistrationCopy | data | String | 필수 | 사업자등록증 사본 업로드 URL |
accountCopy | data | String | 필수 | 통장 사본 업로드 URL |
Response Syntax
{
"statusCode": 200,
"message": "성공"
"data": {
"id": 1,
"name": "협력업체명",
"representative": "대표자명",
"contact": "연락처",
"email": "이메일",
"corporationNumber": "사업자등록번호",
"since": "업력",
"businessRegistrationCopy": "사업자등록증 사본 업로드 URL",
"accountCopy": "통장 사본 업로드 URL"
}
}
등록
Request
API 호출 방식
요청 URL | 메서드 |
/api/vendors | POST |
Request Header
Request Header에 대한 상세는 다음과 같습니다.
파라미터 | 타입 | 필수 여부 | 설명 |
Authorization | String | 필수 | Bearer {JWT_TOKEN} - {JWT_TOKEN} : 로그인 JWT 토큰 |
Content-Type | String | 필수 | multipart/form-data이어야 함 |
Request Elements
Request Elements에 대한 상세는 다음과 같습니다.
필드 | 타입 | 필수 여부 | 설명 |
name | String | 필수 | 협력업체명 |
representative | String | 필수 | 대표자명 |
contact |
String | 필수 | 연락처 |
String | 필수 | 이메일 | |
corporationNumber | String | 필수 | 사업자등록번호 |
since | String | 필수 | 업력 |
businessRegistrationCopy |
MultipartFile | 필수 | 사업자등록증 사본 파일 |
accountCopy | MultipartFile | 필수 | 통장사본 파일 |
Request Syntax
curl -X POST http://{BASE_URL}/api/vendors \
-H "Content-Type: multipart/form-data" \
-H "Authorization: Bearer {JWT_TOKEN}"
Response
Response Elements
Response Elements에 대한 상세는 다음과 같습니다.
필드 | 상위 필드 | 타입 | 필수 여부 | 설명 |
statusCode | Integer | 필수 | API 공통 가이드 - 공통 Response 참조 | |
message |
String | 필수 | API 공통 가이드 - 공통 Response 참조 | |
data |
Object | 필수 | 협력업체 정보 | |
id | data | Integer | 필수 | 협력업체 고유번호 |
Response Syntax
{
"statusCode": 200,
"message": "성공"
"data": {
"id": 1
}
}
수정
Request
API 호출 방식
요청 URL | 메서드 |
/api/vendors/{id} | PUT |
Request Header
Request Header에 대한 상세는 다음과 같습니다.
파라미터 | 타입 | 필수 여부 | 설명 |
Authorization | String | 필수 | Bearer {JWT_TOKEN} - {JWT_TOKEN} : 로그인 JWT 토큰 |
Content-Type | String | 필수 | multipart/form-data이어야 함 |
Request Elements
Request Elements에 대한 상세는 다음과 같습니다.
필드 | 타입 | 필수 여부 | 설명 |
name | String | 필수 | 협력업체명 |
representative | String | 필수 | 대표자명 |
contact |
String | 필수 | 연락처 |
String | 필수 | 이메일 | |
corporationNumber | String | 필수 | 사업자등록번호 |
since | String | 필수 | 업력 |
businessRegistrationCopy |
MultipartFile | 필수 | 사업자등록증 사본 파일 |
accountCopy | MultipartFile | 필수 | 통장사본 파일 |
Request Syntax
curl -X PUT http://{BASE_URL}/api/vendors/{id} \
-H "Content-Type: multipart/form-data" \
-H "Authorization: Bearer {JWT_TOKEN}"
Response
Response Elements
Response Elements에 대한 상세는 다음과 같습니다.
필드 | 상위 필드 | 타입 | 필수 여부 | 설명 |
statusCode | Integer | 필수 | API 공통 가이드 - 공통 Response 참조 | |
message |
String | 필수 | API 공통 가이드 - 공통 Response 참조 | |
data |
Object | 필수 | 협력업체 정보 | |
id | data | Integer | 필수 | 협력업체 고유번호 |
Response Syntax
{
"statusCode": 200,
"message": "성공"
"data": {
"id": 1
}
}
삭제
Request
API 호출 방식
요청 URL | 메서드 |
/api/vendors/{id} | DELETE |
Request Header
Request Header에 대한 상세는 다음과 같습니다.
파라미터 | 타입 | 필수 여부 | 설명 |
Authorization | String | 필수 | Bearer {JWT_TOKEN} - {JWT_TOKEN} : 로그인 JWT 토큰 |
Content-Type | String | 필수 | application/json이어야 함 |
Request Elements
없음
Request Syntax
curl -X PUT http://{BASE_URL}/api/vendors/{id} \
-H "Content-Type: application/json;charset=utf-8" \
-H "Authorization: Bearer {JWT_TOKEN}"
Response
Response Elements
Response Elements에 대한 상세는 다음과 같습니다.
필드 | 상위 필드 | 타입 | 필수 여부 | 설명 |
statusCode | Integer | 필수 | API 공통 가이드 - 공통 Response 참조 | |
message |
String | 필수 | API 공통 가이드 - 공통 Response 참조 |
Response Syntax
{
"statusCode": 200,
"message": "성공"
}