Skip to content

API 스펙

KIM HYUNGJAE edited this page Jul 5, 2024 · 6 revisions

이미지

회원 API

회원가입 API

POST /users/signup

Request Body

속성 타입 설명
username string 아이디
password string 비밀번호
confirmPassword string 확인 비밀번호
nickname string 닉네임

Response Body

HTTP 201

속성 타입 설명
id long 회원 id
username string 아이디
nickname string 닉네임
createdAt Date 가입 시간

로그인 API

POST /users/login

Request Body

속성 타입 설명
username string 아이디
password string 비밀번호

Response Body

HTTP 200

속성 타입 설명
id long 회원 id
username string 아이디
nickname string 닉네임

회원정보 조회 API

GET /users/{userId}

Path Parameters

속성 타입 설명
userId long 회원 id

Response Body

HTTP 200

속성 타입 설명
id long 회원 id
username string 아이디
nickname string 닉네임
userImage Object 회원 이미지
followCount long 팔로우 갯수
followerCount long 팔로워 갯수
postCount long 게시물 갯수

userImage(object)

속성 타입 설명
id long 이미지 id
userId long 회원 id
filePath string 파일 위치
fileName string 파일 이름

회원정보 수정 API

PATCH /users/{userId}

Path Parameters

속성 타입 설명
userId long 회원 id

Request Body

속성 타입 설명
password string 비밀번호
confirmPassword string 확인 비밀번호
nickname string 닉네임
userImage Object 회원 이미지

Response Body

HTTP 200

속성 타입 설명
id long 회원 id
username string 아이디
nickname string 닉네임
userImage Object 회원 이미지

userImage(object)

속성 타입 설명
id long 이미지 id
userId long 회원 id
filePath string 파일 위치
fileName string 파일 이름

회원 팔로우 요청 API

PATCH /users/{targetUserId}/follow

Path Parameters

속성 타입 설명
targetUserId long 타켓 회원 id

회원 언팔로우 요청 API

PATCH /users/{targetUserId}/unfollow

Path Parameters

속성 타입 설명
targetUserId long 타켓 회원 id

음식 API

음식 목록 조회 API

GET /foods

Path Parameters

속성 타입 설명
searchValue string 음식 검색어

Response Body

HTTP 200

속성 타입 설명
foods Array(Object) 음식 목록 배열

foods (Array(Object))

속성 타입 설명
id long 음식 id
name string 음식 이름
size double 음식 1회 제공량
carbohydrate double 탄수화물
protein long 단백질
fat long 지방
calorie long 칼로리

팔로우 API

팔로우 요청 확인 API

PATCH /follow/{followId}/confirm

Path Parameters

속성 타입 설명
followId long 팔로우 id

팔로우 요청 거절 API

PATCH /follow/{followId}/reject

Path Parameters

속성 타입 설명
followId long 팔로우 id

알림 API

알림 목록 조회 API

GET /notifications

Response Body

HTTP 200

속성 타입 설명
notifications Array(Object) 알림 목록 배열

notifications (Array(Object))

속성 타입 설명
id long 알림 id
targetUserId long 타겟 회원 id
followId long 팔로우 id
message string 메세지
isRead boolean 확인여부

게시물 API

게시물 등록 API

POST /posts

Request Body

속성 타입 설명
postImages Array(Object) 게시물 이미지
content string 게시물 내용
foods Array(Object) 게시물 음식

Response Body

HTTP 201

속성 타입 설명
id long 게시물 id
user Object 게시물 작성자
postImages Array(Object) 게시물 이미지
postFoods Array(Object) 게시물 음식
likeCount long 게시물 좋아요 갯수

user (Object)

속성 타입 설명
id long 회원 id
nickname string 닉네임

게시물 목로 조회 API

GET /posts

Response Body

HTTP 200

속성 타입 설명
posts Array(Object) 게시물 목록 배열

posts (Array(Object))

속성 타입 설명
id long 게시물 id
user Object 게시물 작성자
postImages Array(Object) 게시물 이미지
postFoods Array(Object) 게시물 음식
likeCount long 게시물 좋아요 갯수

user (Object)

속성 타입 설명
id long 회원 id
nickname string 닉네임

게시물 좋아요 API

POST /posts/{postId}/like

Path Parameters

속성 타입 설명
postId long 게시물 id

Response Body

HTTP 200

속성 타입 설명
id long 게시물 id
user Object 게시물 작성자
postImages Array(Object) 게시물 이미지
postFoods Array(Object) 게시물 음식
likeCount long 게시물 좋아요 갯수

게시물 좋아요 해제 API

POST /posts/{postId}/unlike

Path Parameters

속성 타입 설명
postId long 게시물 id

Response Body

HTTP 200

속성 타입 설명
id long 게시물 id
user Object 게시물 작성자
postImages Array(Object) 게시물 이미지
postFoods Array(Object) 게시물 음식
likeCount long 게시물 좋아요 갯수

게시물 북마크 API

POST /posts/{postId}/bookmark

Path Parameters

속성 타입 설명
postId long 게시물 id

Response Body

HTTP 200

속성 타입 설명
id long 게시물 id
user Object 게시물 작성자
postImages Array(Object) 게시물 이미지
postFoods Array(Object) 게시물 음식
likeCount long 게시물 좋아요 갯수

게시물 북마크 해제 API

POST /posts/{postId}/bookmark

Path Parameters

속성 타입 설명
postId long 게시물 id

Response Body

HTTP 200

속성 타입 설명
id long 게시물 id
user Object 게시물 작성자
postImages Array(Object) 게시물 이미지
postFoods Array(Object) 게시물 음식
likeCount long 게시물 좋아요 갯수