Search
🔥

API 설계

용어정리

만석: 모집 인원이 다 참 [들어오기 불가]
마감: 마감 시간이 지남 [들어오기 불가]
확정 [들어오기 불가,나가기 불가] ◦ 자동 확정: 만석 && 마감 ◦ 수동 확정: 그 외 모든 경우 언제든 수동확정 가능
Base URL : http://fromitive.iptime.org
OK: 200 CREATED: 201 NO_CONTENT: 204 BAD_REQUEST: 400 UNAUTHORIZED: 401 NOT_FOUND: 404 INTERNAL_SERVER_ERROR: 500 ⇒ 저희한테 알려주세요
200 ; 요청 성공 400 ; 중복 체크 등 404 ; 리소스 없음
구현 완료는 안드분께서 해당 API를 쓸 수 있는지 여부이고,
안드는 안드분께서 해당 API에 대한 작업을 완료하셨는지 여부입니다
StatusCode & Exception 예시
{ "code": "NOT_FOUND_BEACH", // 백엔드에서 내부적으로 정한 errorCode의 이름 "detail": "해당 해변을 찾을 수 없습니다." // 백엔드에서 내부적으로 정한 errorCode 상세 내용 }
Java
복사
@Requestparam -> queryParameter -> greeting?full-name=dora @PathVariable -> pathParameter -> /greeting/{greeting-id}
→ kebab-case
kebab-case → api 엔드포인트
snake_case → db 컬럼명, 패키지명
PaskalCase → 클래스명
camelCase → 변수/메소드명, response/request 필드명(JSON)
Search
해커톤
안드
구현 완료
담당자
기능
Method
End Point
Header
Request Body
Response Body
StatusCode & Exception
Comments
무송
무송
masonkimseoul@gmail.com
Mason Kim
GET
/articles
Content-Type: application/json
{ "responses": [ { "id": 1, "title": "공동구매해요", "nickname": "dora", "productUrl": "www.naver.com", "meetingAddress": "서울시 동작구 보라매로 100", "meetingAddressDetail": "101동 101호", "description": "고양이 인형 공동구매해요", "deadline": "2024-08-01T00:00:00", "currentCount": 3, "totalCount": 5, "thumbnailUrl": "url", "dividedPrice": 2000, "totalPrice": 10000, "status": "AVAILABLE", "isClosed": false }, … ] }
if (만석 || 마감 || 확정) { isClosed=true } 최신순 정렬
손채영
손채영
추서연
추서연
GET
/articles/{article-id}
Content-Type: application/json
{ "id": 1, "title": "공동구매해요", "nickname": "dora", "productUrl": "www.naver.com", "meetingAddress": "서울시 동작구 보라매로 100", "meetingAddressDetail": "101동 101호", "description": "고양이 인형 공동구매해요", "deadline": "2024-08-01T00:00:00", "currentCount": 3, "totalCount": 5, "thumbnailUrl": "url", "dividedPrice": 2000, "totalPrice": 10000, "status": "AVAILABLE", "isClosed": false }
BAD_REQUEST(400): 존재하지 않는 id
status { FULL, TIME_OUT, CONFIRMED, AVAILABLE } 만석, 마감, 확정, 참여가능
무송
무송
masonkimseoul@gmail.com
Mason Kim
POST
/participation
Content-Type: application/json
{ “articleId”: 10 }
{ "status": "AVAILABLE", "currentCount": 6 }
성공 - 200 예외 발생 - 400 1. DB Current Count ≥ DB total Count 2. 마감시간 지났거나, 확정된 상태일 때
(보충 필요)