피드
피드 등록 🔐
성공
HTTP request
POST /api/feeds HTTP/1.1
Content-Type: application/json
Host: localhost:36185
Content-Length: 344
{
"review" : "맛있어요!",
"storeId" : "1",
"images" : [ {
"menu" : {
"name" : "마라탕",
"rating" : 4
},
"imageId" : "ee057b4c6571b1078b989ed2"
}, {
"menu" : {
"name" : "감자탕",
"rating" : 3
},
"imageId" : "ee057b756571b1078b989ed3"
} ],
"storeMoodIds" : [ "1", "3", "4" ]
}
HTTP response
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Content-Type: application/json
Transfer-Encoding: chunked
Date: Sun, 22 Dec 2024 10:59:17 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 39
{
"id" : "ee057be86571b1078b989ed6"
}
바디가 없을 때
HTTP request
POST /api/feeds HTTP/1.1
Content-Type: application/json
Host: localhost:36185
HTTP response
HTTP/1.1 400 Bad Request
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Content-Type: application/json
Transfer-Encoding: chunked
Date: Sun, 22 Dec 2024 10:59:17 GMT
Connection: close
Content-Length: 96
{
"message" : "입력값이 올바르지 않습니다.",
"code" : "g001",
"errors" : { }
}
storeId가 없을 때
HTTP request
POST /api/feeds HTTP/1.1
Content-Type: application/json
Host: localhost:36185
Content-Length: 325
{
"review" : "맛있어요!",
"storeMoodIds" : [ "1", "3", "4" ],
"images" : [ {
"menu" : {
"name" : "마라탕",
"rating" : 4
},
"imageId" : "ee0587186571b1078b989f1c"
}, {
"menu" : {
"name" : "감자탕",
"rating" : 3
},
"imageId" : "ee0587366571b1078b989f1d"
} ]
}
HTTP response
HTTP/1.1 400 Bad Request
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Content-Type: application/json
Transfer-Encoding: chunked
Date: Sun, 22 Dec 2024 10:59:19 GMT
Connection: close
Content-Length: 150
{
"message" : "입력값이 올바르지 않습니다.",
"code" : "g001",
"errors" : {
"storeId" : "가게 정보는 필수입니다."
}
}
리뷰 글자 수가 1 글자와 500 글자 사이가 아닌 0 글자일 때
HTTP request
POST /api/feeds HTTP/1.1
Content-Type: application/json
Host: localhost:36185
Content-Length: 331
{
"review" : "",
"storeId" : "1",
"images" : [ {
"menu" : {
"name" : "마라탕",
"rating" : 4
},
"imageId" : "ee05850d6571b1078b989f10"
}, {
"menu" : {
"name" : "감자탕",
"rating" : 3
},
"imageId" : "ee05852b6571b1078b989f11"
} ],
"storeMoodIds" : [ "1", "3", "4" ]
}
HTTP response
HTTP/1.1 400 Bad Request
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Content-Type: application/json
Transfer-Encoding: chunked
Date: Sun, 22 Dec 2024 10:59:19 GMT
Connection: close
Content-Length: 211
{
"message" : "입력값이 올바르지 않습니다.",
"code" : "g001",
"errors" : {
"review" : "가게 리뷰는 최소 1글자부터 최대 500글자까지여야 합니다.;must not be blank"
}
}
리뷰 글자 수가 1 글자와 500 글자 사이가 아닌 501 글자일 때
HTTP request
POST /api/feeds HTTP/1.1
Content-Type: application/json
Host: localhost:36185
Content-Length: 832
{
"review" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"storeId" : "1",
"images" : [ {
"menu" : {
"name" : "마라탕",
"rating" : 4
},
"imageId" : "ee0586106571b1078b989f16"
}, {
"menu" : {
"name" : "감자탕",
"rating" : 3
},
"imageId" : "ee0586326571b1078b989f17"
} ],
"storeMoodIds" : [ "1", "3", "4" ]
}
HTTP response
HTTP/1.1 400 Bad Request
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Content-Type: application/json
Transfer-Encoding: chunked
Date: Sun, 22 Dec 2024 10:59:19 GMT
Connection: close
Content-Length: 193
{
"message" : "입력값이 올바르지 않습니다.",
"code" : "g001",
"errors" : {
"review" : "가게 리뷰는 최소 1글자부터 최대 500글자까지여야 합니다."
}
}
무드가 1개부터 3개까지가 아닌 0개일 때
HTTP request
POST /api/feeds HTTP/1.1
Content-Type: application/json
Host: localhost:36185
Content-Length: 330
{
"review" : "맛있어요!",
"storeId" : "1",
"images" : [ {
"menu" : {
"name" : "마라탕",
"rating" : 4
},
"imageId" : "ee058c596571b1078b989f53"
}, {
"menu" : {
"name" : "감자탕",
"rating" : 3
},
"imageId" : "ee058c856571b1078b989f54"
} ],
"storeMoodIds" : [ ]
}
HTTP response
HTTP/1.1 400 Bad Request
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Content-Type: application/json
Transfer-Encoding: chunked
Date: Sun, 22 Dec 2024 10:59:21 GMT
Connection: close
Content-Length: 177
{
"message" : "입력값이 올바르지 않습니다.",
"code" : "g001",
"errors" : {
"storeMoodIds" : "무드는 최소 1개부터 최대 3개까지입니다."
}
}
무드가 1개부터 3개까지가 아닌 4개일 때
HTTP request
POST /api/feeds HTTP/1.1
Content-Type: application/json
Host: localhost:36185
Content-Length: 349
{
"review" : "맛있어요!",
"storeId" : "1",
"images" : [ {
"menu" : {
"name" : "마라탕",
"rating" : 4
},
"imageId" : "ee0580316571b1078b989ef0"
}, {
"menu" : {
"name" : "감자탕",
"rating" : 3
},
"imageId" : "ee05806a6571b1078b989ef1"
} ],
"storeMoodIds" : [ "1", "2", "3", "4" ]
}
HTTP response
HTTP/1.1 400 Bad Request
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Content-Type: application/json
Transfer-Encoding: chunked
Date: Sun, 22 Dec 2024 10:59:18 GMT
Connection: close
Content-Length: 177
{
"message" : "입력값이 올바르지 않습니다.",
"code" : "g001",
"errors" : {
"storeMoodIds" : "무드는 최소 1개부터 최대 3개까지입니다."
}
}
메뉴가 1개 이상이 아닐 때 즉 0개일 때
HTTP request
POST /api/feeds HTTP/1.1
Content-Type: application/json
Host: localhost:36185
Content-Length: 107
{
"review" : "맛있어요!",
"storeId" : "1",
"images" : [ ],
"storeMoodIds" : [ "1", "2", "3" ]
}
HTTP response
HTTP/1.1 400 Bad Request
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Content-Type: application/json
Transfer-Encoding: chunked
Date: Sun, 22 Dec 2024 10:59:18 GMT
Connection: close
Content-Length: 157
{
"message" : "입력값이 올바르지 않습니다.",
"code" : "g001",
"errors" : {
"images" : "메뉴는 1개 이상이어야 합니다."
}
}
피드 전체 조회 ❤️
성공
HTTP request
GET /api/feeds?page=0&size=10 HTTP/1.1
Content-Type: application/json
Host: localhost:36185
HTTP response
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Content-Type: application/json
Transfer-Encoding: chunked
Date: Sun, 22 Dec 2024 10:59:20 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 2989
{
"content" : [ {
"id" : "ee058b0c6571b1078b989f44",
"member" : {
"id" : "ee058a046571b1078b989f33",
"profileImageUrl" : "https://foodymoody-test.s3.ap-northeast-2.amazonaws.com/foodymoody_logo.png",
"nickname" : "푸반",
"tasteMood" : {
"id" : "ee058a046571b1078b989f33",
"name" : "베지테리언"
}
},
"createdAt" : "2024-12-22T10:59:20.972176",
"updatedAt" : null,
"store" : {
"id" : "1",
"name" : "영업중 식당"
},
"review" : "맛없어요!",
"storeMood" : [ {
"id" : "1",
"name" : "가족과 함께"
}, {
"id" : "2",
"name" : "혼밥"
}, {
"id" : "4",
"name" : "데이트"
} ],
"images" : [ {
"id" : "ee058b696571b1078b989f4b",
"image" : {
"id" : "ee058ac46571b1078b989f40",
"url" : "https://s3Url/key"
},
"menu" : {
"name" : "크림 파스타",
"rating" : 1
}
}, {
"id" : "ee058b696571b1078b989f4c",
"image" : {
"id" : "ee058ae26571b1078b989f41",
"url" : "https://s3Url/key"
},
"menu" : {
"name" : "토마토 파스타",
"rating" : 2
}
} ],
"likeCount" : 0,
"isLiked" : false,
"commentCount" : 1
}, {
"id" : "ee058a7f6571b1078b989f39",
"member" : {
"id" : "ee0589cf6571b1078b989f31",
"profileImageUrl" : "https://foodymoody-test.s3.ap-northeast-2.amazonaws.com/foodymoody_logo.png",
"nickname" : "아티",
"tasteMood" : {
"id" : "ee0589cf6571b1078b989f31",
"name" : "베지테리언"
}
},
"createdAt" : "2024-12-22T10:59:20.831689",
"updatedAt" : null,
"store" : {
"id" : "1",
"name" : "영업중 식당"
},
"review" : "맛있어요!",
"storeMood" : [ {
"id" : "1",
"name" : "가족과 함께"
}, {
"id" : "3",
"name" : "감성"
}, {
"id" : "4",
"name" : "데이트"
} ],
"images" : [ {
"id" : "ee058b736571b1078b989f4d",
"image" : {
"id" : "ee058a386571b1078b989f35",
"url" : "https://s3Url/key"
},
"menu" : {
"name" : "마라탕",
"rating" : 4
}
}, {
"id" : "ee058b736571b1078b989f4e",
"image" : {
"id" : "ee058a556571b1078b989f36",
"url" : "https://s3Url/key"
},
"menu" : {
"name" : "감자탕",
"rating" : 3
}
} ],
"likeCount" : 0,
"isLiked" : false,
"commentCount" : 1
} ],
"pageable" : {
"sort" : {
"sorted" : true,
"unsorted" : false,
"empty" : false
},
"pageNumber" : 0,
"pageSize" : 10,
"offset" : 0,
"paged" : true,
"unpaged" : false
},
"sort" : {
"sorted" : true,
"unsorted" : false,
"empty" : false
},
"first" : true,
"last" : true,
"number" : 0,
"numberOfElements" : 2,
"size" : 10,
"empty" : false
}
피드 개별 조회 ❤️
성공
HTTP request
GET /api/feeds/ee0588886571b1078b989f26 HTTP/1.1
Content-Type: application/json
Host: localhost:36185
HTTP response
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Content-Type: application/json
Transfer-Encoding: chunked
Date: Sun, 22 Dec 2024 10:59:20 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 1163
{
"id" : "ee0588886571b1078b989f26",
"member" : {
"id" : "ee0587ac6571b1078b989f1e",
"profileImageUrl" : "https://foodymoody-test.s3.ap-northeast-2.amazonaws.com/foodymoody_logo.png",
"nickname" : "아티",
"tasteMood" : {
"id" : "ee0587ac6571b1078b989f1e",
"name" : "베지테리언"
}
},
"store" : {
"id" : "1",
"name" : "영업중 식당"
},
"createdAt" : "2024-12-22T10:59:20.328582",
"updatedAt" : null,
"review" : "맛있어요!",
"storeMood" : [ {
"id" : "1",
"name" : "가족과 함께"
}, {
"id" : "3",
"name" : "감성"
}, {
"id" : "4",
"name" : "데이트"
} ],
"images" : [ {
"id" : "ee0589526571b1078b989f2f",
"image" : {
"id" : "ee0588306571b1078b989f22",
"url" : "https://s3Url/key"
},
"menu" : {
"name" : "마라탕",
"rating" : 4
}
}, {
"id" : "ee0589536571b1078b989f30",
"image" : {
"id" : "ee05884e6571b1078b989f23",
"url" : "https://s3Url/key"
},
"menu" : {
"name" : "감자탕",
"rating" : 3
}
} ],
"likeCount" : 1,
"isLiked" : true,
"commentCount" : 1
}
피드 수정 🔐
성공
HTTP request
PUT /api/feeds/ee0583176571b1078b989f00 HTTP/1.1
Content-Type: application/json
Host: localhost:36185
Content-Length: 314
{
"review" : "맛있게 먹었습니다.2",
"storeId" : "2",
"images" : [ {
"menu" : {
"name" : "마라탕2",
"rating" : 5
},
"imageId" : "3"
}, {
"menu" : {
"name" : "감자탕2",
"rating" : 5
},
"imageId" : "4"
} ],
"storeMoodIds" : [ "2", "5", "6" ]
}
피드 삭제 🔐
성공
HTTP request
DELETE /api/feeds/ee057da06571b1078b989ee2 HTTP/1.1
Content-Type: application/json
Host: localhost:36185
좋아요 등록 🔐
성공
HTTP request
POST /api/feeds/ee05de346571b1078b98a5d2/likes HTTP/1.1
Content-Type: application/json
Host: localhost:36185
Content-Length: 43
{
"feedId" : "ee05de346571b1078b98a5d2"
}
HTTP response
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Content-Type: application/json
Transfer-Encoding: chunked
Date: Sun, 22 Dec 2024 10:59:41 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 167
{
"id" : "ee05de526571b1078b98a5d6",
"feedId" : "ee05de346571b1078b98a5d2",
"memberId" : "ee05ddac6571b1078b98a5ca",
"isLiked" : true,
"feedHeartCount" : 1
}
이미 좋아요 된 피드일 때
HTTP request
POST /api/feeds/ee05dd076571b1078b98a5c4/likes HTTP/1.1
Content-Type: application/json
Host: localhost:36185
HTTP response
HTTP/1.1 400 Bad Request
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Content-Type: application/json
Transfer-Encoding: chunked
Date: Sun, 22 Dec 2024 10:59:41 GMT
Connection: close
Content-Length: 97
{
"message" : "이미 좋아요 누른 피드입니다.",
"code" : "i014",
"errors" : { }
}
좋아요 취소 🔐
성공
HTTP request
DELETE /api/feeds/ee05dc216571b1078b98a5b6/likes HTTP/1.1
Content-Type: application/json
Host: localhost:36185
HTTP response
HTTP/1.1 204 No Content
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Date: Sun, 22 Dec 2024 10:59:41 GMT
Keep-Alive: timeout=60
Connection: keep-alive
좋아요 된 피드가 없을 때
HTTP request
DELETE /api/feeds/ee05df176571b1078b98a5e0/likes HTTP/1.1
Content-Type: application/json
Host: localhost:36185
Content-Length: 43
{
"feedId" : "ee05df176571b1078b98a5e0"
}
HTTP response
HTTP/1.1 400 Bad Request
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Content-Type: application/json
Transfer-Encoding: chunked
Date: Sun, 22 Dec 2024 10:59:41 GMT
Connection: close
Content-Length: 111
{
"message" : "좋아요 기록이 없어 취소할 수 없습니다.",
"code" : "i016",
"errors" : { }
}
스토어 무드 조회
성공
HTTP request
GET /api/feeds/store-moods HTTP/1.1
Content-Type: application/json
Host: localhost:36185
HTTP response
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Content-Type: application/json
Transfer-Encoding: chunked
Date: Sun, 22 Dec 2024 10:59:19 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 262
[ {
"id" : "1",
"name" : "가족과 함께"
}, {
"id" : "2",
"name" : "혼밥"
}, {
"id" : "3",
"name" : "감성"
}, {
"id" : "4",
"name" : "데이트"
}, {
"id" : "5",
"name" : "루프탑"
}, {
"id" : "6",
"name" : "특별한 테마"
} ]
인증/인가
로그인
성공
HTTP request
POST /api/auth/login HTTP/1.1
Content-Type: application/json
Host: localhost:36185
Content-Length: 61
{
"email" : "puban@puban.com",
"password" : "puban123!"
}
HTTP response
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Content-Type: application/json
Transfer-Encoding: chunked
Date: Sun, 22 Dec 2024 10:59:16 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 458
{
"accessToken" : "eyJhbGciOiJIUzI1NiJ9.eyJpZCI6ImVlMDU3OGE4NjU3MWIxMDc4Yjk4OWVjOCIsImVtYWlsIjoicHViYW5AcHViYW4uY29tIiwiaXNzIjoiZm9vZHltb29keS5zdG9yZSIsImlhdCI6MTczNDg2NTE1NiwiZXhwIjoxNzM0ODY4NzU2fQ.2Wwxpk1THIvyrb4jyft53b33rOm6VjK-5hN1-6MzTOQ",
"refreshToken" : "eyJhbGciOiJIUzI1NiJ9.eyJpZCI6ImVlMDU3OGE4NjU3MWIxMDc4Yjk4OWVjOCIsImlzcyI6ImZvb2R5bW9vZHkuc3RvcmUiLCJpYXQiOjE3MzQ4NjUxNTYsImV4cCI6MTczNzQ1NzE1Nn0.rJRJ-nfhFj9PcrsSCEC96dWkspqVkXaUhHbSzrTkPhw"
}
OAuth 로그인
성공 (현재 google 가능)
HTTP request
GET /api/auth/oauth/google?code=authorizationCode HTTP/1.1
Content-Type: application/json
Host: localhost:36185
HTTP response
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Content-Type: application/json
Transfer-Encoding: chunked
Date: Sun, 22 Dec 2024 10:59:15 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 458
{
"accessToken" : "eyJhbGciOiJIUzI1NiJ9.eyJpZCI6ImVlMDU3NmE0NjU3MWIxMDc4Yjk4OWViZiIsImVtYWlsIjoib2F1dGhAb2F1dGguY29tIiwiaXNzIjoiZm9vZHltb29keS5zdG9yZSIsImlhdCI6MTczNDg2NTE1NSwiZXhwIjoxNzM0ODY4NzU1fQ.kjjur8MV71euriMjYQLlunN6oE4E_-vfONf7ypyDp84",
"refreshToken" : "eyJhbGciOiJIUzI1NiJ9.eyJpZCI6ImVlMDU3NmE0NjU3MWIxMDc4Yjk4OWViZiIsImlzcyI6ImZvb2R5bW9vZHkuc3RvcmUiLCJpYXQiOjE3MzQ4NjUxNTUsImV4cCI6MTczNzQ1NzE1NX0.dZ8fyzLAVvTWXk-EdhK6XUVsDB0KH7YrTsKcMxxiN-U"
}
가입되지 않은 이메일일 때
HTTP response
HTTP/1.1 404 Not Found
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Content-Type: application/json
Transfer-Encoding: chunked
Date: Sun, 22 Dec 2024 10:59:16 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 92
{
"message" : "존재하지 않는 회원입니다",
"code" : "m001",
"errors" : { }
}
비밀번호가 틀렸을 때
HTTP response
HTTP/1.1 401 Unauthorized
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Content-Type: application/json
Transfer-Encoding: chunked
Date: Sun, 22 Dec 2024 10:59:16 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 118
{
"message" : "사용자 정보와 비밀번호가 일치하지 않습니다",
"code" : "a005",
"errors" : { }
}
토큰 재발급 🔐
성공
HTTP request
POST /api/auth/token HTTP/1.1
Content-Type: application/json
Host: localhost:36185
Content-Length: 213
{
"refreshToken" : "eyJhbGciOiJIUzI1NiJ9.eyJpZCI6ImVlMDU2Zjc0NjU3MWIxMDc4Yjk4OWViNSIsImlzcyI6ImZvb2R5bW9vZHkuc3RvcmUiLCJpYXQiOjE3MzQ4NjUxNTQsImV4cCI6MTczNzQ1NzE1NH0.p_TLT27ZIM0dEqolhHDV4LSVtlwzwSkuKhqmOonJ9pw"
}
HTTP response
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Content-Type: application/json
Transfer-Encoding: chunked
Date: Sun, 22 Dec 2024 10:59:15 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 458
{
"accessToken" : "eyJhbGciOiJIUzI1NiJ9.eyJpZCI6ImVlMDU2Zjc0NjU3MWIxMDc4Yjk4OWViNSIsImVtYWlsIjoicHViYW5AcHViYW4uY29tIiwiaXNzIjoiZm9vZHltb29keS5zdG9yZSIsImlhdCI6MTczNDg2NTE1NSwiZXhwIjoxNzM0ODY4NzU1fQ._Pvrug6Cev9UZ8E8VS4UoBlEKLs_IREztLbePJsdk3o",
"refreshToken" : "eyJhbGciOiJIUzI1NiJ9.eyJpZCI6ImVlMDU2Zjc0NjU3MWIxMDc4Yjk4OWViNSIsImlzcyI6ImZvb2R5bW9vZHkuc3RvcmUiLCJpYXQiOjE3MzQ4NjUxNTUsImV4cCI6MTczNzQ1NzE1NX0.a_3RHqXhMR62gfO4KoIStC_Jcs2Ea-dDdLNY_6zIopQ"
}
유효하지 않은 리프레시 토큰일 때
HTTP response
HTTP/1.1 400 Bad Request
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Content-Type: application/json
Transfer-Encoding: chunked
Date: Sun, 22 Dec 2024 10:59:15 GMT
Connection: close
Content-Length: 92
{
"message" : "토큰이 유효하지 않습니다",
"code" : "a002",
"errors" : { }
}
로그아웃 🔐
성공
HTTP request
POST /api/auth/logout HTTP/1.1
Content-Type: application/json
Host: localhost:36185
HTTP response
HTTP/1.1 204 No Content
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Date: Sun, 22 Dec 2024 10:59:13 GMT
Keep-Alive: timeout=60
Connection: keep-alive
피드 댓글
피드 댓글 등록 🔐
HTTP request
POST /api/feed/ee05d7156571b1078b98a555/comments HTTP/1.1
Accept: application/json
Content-Type: application/json
Host: localhost:36185
Content-Length: 33
{
"content" : "댓글 내용"
}
HTTP response
HTTP/1.1 201 Created
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Content-Type: application/json
Transfer-Encoding: chunked
Date: Sun, 22 Dec 2024 10:59:39 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 39
{
"id" : "ee05d7326571b1078b98a559"
}
예외 케이스
케이스 |
응답코드 |
응답메시지 |
에러 코드 |
설명 |
바디가 없을 때 |
400 |
입력값이 올바르지 않습니다. |
g001 |
요청 바디가 존재하지 않습니다. |
댓글이 없을 때 |
400 |
입력값이 올바르지 않습니다. |
g001 |
댓글이 공백일 수 없습니다;널이어서는 안됩니다. |
댓글이 비여 있을 때 |
400 |
입력값이 올바르지 않습니다. |
g001 |
댓글이 공백일 수 없습니다;널이어서는 안됩니다. |
댓글이 공백 일 때 |
400 |
입력값이 올바르지 않습니다. |
g001 |
댓글이 공백일 수 없습니다;널이어서는 안됩니다. |
댓글이 200자를 넘을 때 |
400 |
댓글은 200자 이하여야 합니다. |
g001 |
댓글은 200자를 넘을 수 없습니다. |
피드가 존재하지 않을 때 |
400 |
피드가 존재하지 않습니다. |
g001 |
유호한 피드 아이디이여야 합니다. |
피드 댓글 수정 🔐
HTTP request
PUT /api/feed/ee05d2776571b1078b98a501/comments/ee05d2916571b1078b98a505 HTTP/1.1
Content-Type: application/json
Host: localhost:36185
Content-Length: 36
{
"content" : "수정된 댓글"
}
HTTP response
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Date: Sun, 22 Dec 2024 10:59:38 GMT
Keep-Alive: timeout=60
Connection: keep-alive
예외 케이스
케이스 |
응답코드 |
응답메시지 |
에러 코드 |
설명 |
바디가 없을 때 |
400 |
입력값이 올바르지 않습니다. |
g001 |
요청 바디가 유효해야 합니다. |
댓글이 비여 있을 때 |
400 |
입력값이 올바르지 않습니다. |
g001 |
댓글이 공백일 수 없습니다. |
댓글이 공백 일 때 |
400 |
입력값이 올바르지 않습니다. |
g001 |
댓글이 공백일 수 없습니다. |
댓글이 200자를 넘을 때 |
400 |
댓글은 200자 이하여야 합니다. |
g001 |
댓글은 200자를 넘을 수 없습니다. |
댓글이 존재하지 않을 때 |
400 |
댓글이 존재하지 않습니다. |
c007 |
유효한 댓글 아이디이여야 합니다. |
댓글이 이미 삭제되었을 때 |
400 |
삭제된 댓글입니다. |
c008 |
댓글이 이미 삭제되었습니다. |
피드 댓글 삭제 🔐
HTTP request
DELETE /api/feed/ee05ce2b6571b1078b98a4b6/comments/ee05ce446571b1078b98a4ba HTTP/1.1
Host: localhost:36185
HTTP response
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Date: Sun, 22 Dec 2024 10:59:37 GMT
Keep-Alive: timeout=60
Connection: keep-alive
예외 케이스
케이스 |
응답코드 |
응답메시지 |
에러 코드 |
설명 |
댓글이 존재하지 않을 때 |
400 |
댓글이 존재하지 않는다. |
c007 |
유효한 댓글 아이디이여야 합니다. |
댓글이 이미 삭제되었을 때 |
400 |
삭제된 댓글입니다. |
c008 |
댓글이 이미 삭제되었습니다. |
피드별 댓글 조회 ❤️
HTTP request
GET /api/feed/ee05c8e36571b1078b98a417/comments?size=5&page=1 HTTP/1.1
Host: localhost:36185
HTTP response
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Content-Type: application/json
Transfer-Encoding: chunked
Date: Sun, 22 Dec 2024 10:59:36 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 2697
{
"content" : [ {
"id" : "ee05c9f56571b1078b98a445",
"content" : "댓글 내용",
"member" : {
"id" : "ee05c8616571b1078b98a40f",
"nickname" : "아티",
"imageUrl" : "https://foodymoody-test.s3.ap-northeast-2.amazonaws.com/foodymoody_logo.png"
},
"hasReply" : false,
"replyCount" : 0,
"likeCount" : 0,
"liked" : false,
"createdAt" : "2024-12-22T10:59:37.077742",
"updatedAt" : "2024-12-22T10:59:37.077742"
}, {
"id" : "ee05c9e36571b1078b98a442",
"content" : "댓글 내용",
"member" : {
"id" : "ee05c8616571b1078b98a40f",
"nickname" : "아티",
"imageUrl" : "https://foodymoody-test.s3.ap-northeast-2.amazonaws.com/foodymoody_logo.png"
},
"hasReply" : false,
"replyCount" : 0,
"likeCount" : 0,
"liked" : false,
"createdAt" : "2024-12-22T10:59:37.059696",
"updatedAt" : "2024-12-22T10:59:37.059696"
}, {
"id" : "ee05c9cd6571b1078b98a43f",
"content" : "댓글 내용",
"member" : {
"id" : "ee05c8616571b1078b98a40f",
"nickname" : "아티",
"imageUrl" : "https://foodymoody-test.s3.ap-northeast-2.amazonaws.com/foodymoody_logo.png"
},
"hasReply" : false,
"replyCount" : 0,
"likeCount" : 0,
"liked" : false,
"createdAt" : "2024-12-22T10:59:37.037045",
"updatedAt" : "2024-12-22T10:59:37.037045"
}, {
"id" : "ee05c9bb6571b1078b98a43c",
"content" : "댓글 내용",
"member" : {
"id" : "ee05c8616571b1078b98a40f",
"nickname" : "아티",
"imageUrl" : "https://foodymoody-test.s3.ap-northeast-2.amazonaws.com/foodymoody_logo.png"
},
"hasReply" : false,
"replyCount" : 0,
"likeCount" : 0,
"liked" : false,
"createdAt" : "2024-12-22T10:59:37.019847",
"updatedAt" : "2024-12-22T10:59:37.019847"
}, {
"id" : "ee05c9ac6571b1078b98a439",
"content" : "댓글 내용",
"member" : {
"id" : "ee05c8616571b1078b98a40f",
"nickname" : "아티",
"imageUrl" : "https://foodymoody-test.s3.ap-northeast-2.amazonaws.com/foodymoody_logo.png"
},
"hasReply" : false,
"replyCount" : 0,
"likeCount" : 0,
"liked" : false,
"createdAt" : "2024-12-22T10:59:37.004419",
"updatedAt" : "2024-12-22T10:59:37.004419"
} ],
"pageable" : {
"sort" : {
"sorted" : true,
"unsorted" : false,
"empty" : false
},
"pageNumber" : 1,
"pageSize" : 5,
"offset" : 5,
"paged" : true,
"unpaged" : false
},
"sort" : {
"sorted" : true,
"unsorted" : false,
"empty" : false
},
"first" : false,
"last" : false,
"number" : 1,
"numberOfElements" : 5,
"size" : 5,
"empty" : false
}
예외 케이스
케이스 |
응답코드 |
응답메시지 |
에러 코드 |
설명 |
피드가 존재하지 않을 때 |
400 |
피드가 존재하지 않습니다. |
c004 |
유효한 피드 아이디이여야 합니다. |
피드 댓글 좋아요 등록 🔐
HTTP request
POST /api/feed/ee05da6a6571b1078b98a594/comments/ee05da8b6571b1078b98a598/likes HTTP/1.1
Content-Type: application/json
Host: localhost:36185
HTTP response
HTTP/1.1 201 Created
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Date: Sun, 22 Dec 2024 10:59:40 GMT
Keep-Alive: timeout=60
Connection: keep-alive
피드 댓글 좋아요 취소 🔐
HTTP request
DELETE /api/feed/ee05db3d6571b1078b98a5a5/comments/ee05db5c6571b1078b98a5a9/likes HTTP/1.1
Content-Type: application/json
Host: localhost:36185
HTTP response
HTTP/1.1 204 No Content
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Date: Sun, 22 Dec 2024 10:59:41 GMT
Keep-Alive: timeout=60
Connection: keep-alive
피드 대댓글
피드 대댓글 달기 🔐
HTTP request
POST /api/feed/ee05e1c86571b1078b98a610/comments/ee05e1e56571b1078b98a614 HTTP/1.1
Accept: application/json
Content-Type: application/json
Host: localhost:36185
Content-Length: 33
{
"content" : "댓글 내용"
}
HTTP response
HTTP/1.1 201 Created
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Content-Type: application/json
Transfer-Encoding: chunked
Date: Sun, 22 Dec 2024 10:59:42 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 39
{
"id" : "ee05e1fe6571b1078b98a617"
}
피드 대댓글 조회 ❤️
HTTP request
GET /api/feed/ee05e3dc6571b1078b98a63c/comments/ee05e3f06571b1078b98a640/replies?page=0&size=10 HTTP/1.1
Host: localhost:36185
HTTP response
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Content-Type: application/json
Transfer-Encoding: chunked
Date: Sun, 22 Dec 2024 10:59:43 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 1651
{
"content" : [ {
"id" : "ee05e4206571b1078b98a649",
"content" : "댓글 내용",
"member" : {
"id" : "ee05e3736571b1078b98a634",
"nickname" : "아티",
"imageUrl" : "https://foodymoody-test.s3.ap-northeast-2.amazonaws.com/foodymoody_logo.png"
},
"likeCount" : 0,
"liked" : false,
"createdAt" : "2024-12-22T10:59:43.77659",
"updatedAt" : "2024-12-22T10:59:43.77659"
}, {
"id" : "ee05e4116571b1078b98a646",
"content" : "댓글 내용",
"member" : {
"id" : "ee05e39c6571b1078b98a636",
"nickname" : "푸반",
"imageUrl" : "https://foodymoody-test.s3.ap-northeast-2.amazonaws.com/foodymoody_logo.png"
},
"likeCount" : 0,
"liked" : false,
"createdAt" : "2024-12-22T10:59:43.761544",
"updatedAt" : "2024-12-22T10:59:43.761544"
}, {
"id" : "ee05e4026571b1078b98a643",
"content" : "댓글 내용",
"member" : {
"id" : "ee05e3736571b1078b98a634",
"nickname" : "아티",
"imageUrl" : "https://foodymoody-test.s3.ap-northeast-2.amazonaws.com/foodymoody_logo.png"
},
"likeCount" : 0,
"liked" : false,
"createdAt" : "2024-12-22T10:59:43.746629",
"updatedAt" : "2024-12-22T10:59:43.746629"
} ],
"pageable" : {
"sort" : {
"sorted" : true,
"unsorted" : false,
"empty" : false
},
"pageNumber" : 0,
"pageSize" : 10,
"offset" : 0,
"paged" : true,
"unpaged" : false
},
"sort" : {
"sorted" : true,
"unsorted" : false,
"empty" : false
},
"first" : true,
"last" : true,
"number" : 0,
"numberOfElements" : 3,
"size" : 10,
"empty" : false
}
피드 대댓글에 좋아요 등록 🔐
HTTP request
POST /api/feed/ee05e5ca6571b1078b98a668/comments/ee05e5e36571b1078b98a66c/replies/ee05e5f76571b1078b98a66f/likes HTTP/1.1
Content-Type: application/x-www-form-urlencoded; charset=ISO-8859-1
Host: localhost:36185
HTTP response
HTTP/1.1 201 Created
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Date: Sun, 22 Dec 2024 10:59:43 GMT
Keep-Alive: timeout=60
Connection: keep-alive
피드 대댓글에 좋아요 취소 🔐
HTTP request
DELETE /api/feed/ee05e4e06571b1078b98a654/comments/ee05e4f46571b1078b98a658/replies/ee05e5076571b1078b98a65b/likes HTTP/1.1
Host: localhost:36185
HTTP response
HTTP/1.1 204 No Content
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Date: Sun, 22 Dec 2024 10:59:43 GMT
Keep-Alive: timeout=60
Connection: keep-alive
피드 대댓글 수정 🔐
HTTP request
PUT /api/feed/ee05dfe56571b1078b98a5ec/comments/ee05dffa6571b1078b98a5f0/replies/ee05e00f6571b1078b98a5f3 HTTP/1.1
Accept: application/json
Content-Type: application/json
Host: localhost:36185
Content-Length: 43
{
"content" : "수정된 댓글 내용"
}
HTTP response
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Date: Sun, 22 Dec 2024 10:59:42 GMT
Keep-Alive: timeout=60
Connection: keep-alive
피드 대댓글 삭제 🔐
HTTP request
DELETE /api/feed/ee05e0d56571b1078b98a5fe/comments/ee05e0ed6571b1078b98a602/replies/ee05e1016571b1078b98a605 HTTP/1.1
Host: localhost:36185
HTTP response
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Date: Sun, 22 Dec 2024 10:59:42 GMT
Keep-Alive: timeout=60
Connection: keep-alive
회원
회원 가입
성공
HTTP request
POST /api/members HTTP/1.1
Content-Type: application/json
Host: localhost:36185
Content-Length: 139
{
"email" : "bono@bono.com",
"tasteMoodId" : "1",
"nickname" : "보노",
"password" : "bono123!",
"repeatPassword" : "bono123!"
}
HTTP response
HTTP/1.1 201 Created
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Content-Type: application/json
Transfer-Encoding: chunked
Date: Sun, 22 Dec 2024 10:59:52 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 39
{
"id" : "ee0607ef6571b1078b98a846"
}
입력값이 잘못됐을 때
HTTP response
HTTP/1.1 400 Bad Request
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Content-Type: application/json
Transfer-Encoding: chunked
Date: Sun, 22 Dec 2024 10:59:52 GMT
Connection: close
Content-Length: 346
{
"message" : "입력값이 올바르지 않습니다.",
"code" : "g001",
"errors" : {
"password" : "비밀번호는 8글자 이상 16글자 이하의 영문자, 특수문자로 이뤄져야 합니다",
"nickname" : "닉네임은 공백일 수 없습니다",
"email" : "올바른 형식의 이메일을 입력해주세요"
}
}
이미 가입된 이메일일 때
HTTP response
HTTP/1.1 400 Bad Request
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Content-Type: application/json
Transfer-Encoding: chunked
Date: Sun, 22 Dec 2024 10:59:52 GMT
Connection: close
Content-Length: 92
{
"message" : "이미 가입된 이메일입니다",
"code" : "m002",
"errors" : { }
}
이미 가입된 닉네임일 때
HTTP response
HTTP/1.1 400 Bad Request
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Content-Type: application/json
Transfer-Encoding: chunked
Date: Sun, 22 Dec 2024 10:59:52 GMT
Connection: close
Content-Length: 95
{
"message" : "이미 존재하는 닉네임입니다",
"code" : "m003",
"errors" : { }
}
재입력한 비밀번호가 다를 때
HTTP response
HTTP/1.1 400 Bad Request
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Content-Type: application/json
Transfer-Encoding: chunked
Date: Sun, 22 Dec 2024 10:59:52 GMT
Connection: close
Content-Length: 177
{
"message" : "입력값이 올바르지 않습니다.",
"code" : "g001",
"errors" : {
"signupRequest" : "재입력한 비밀번호가 일치하지 않습니다"
}
}
회원 프로필 조회
성공 - 비로그인
HTTP request
GET /api/members/ee0606016571b1078b98a822 HTTP/1.1
Content-Type: application/json
Host: localhost:36185
HTTP response
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Content-Type: application/json
Transfer-Encoding: chunked
Date: Sun, 22 Dec 2024 10:59:51 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 429
{
"id" : "ee0606016571b1078b98a822",
"profileImage" : {
"id" : "member-profile-default",
"url" : "https://foodymoody-test.s3.ap-northeast-2.amazonaws.com/foodymoody_logo.png"
},
"nickname" : "푸반",
"email" : "puban@puban.com",
"tasteMood" : {
"id" : "1",
"name" : "베지테리언"
},
"followingCount" : 0,
"followerCount" : 1,
"following" : false,
"followed" : false,
"feedCount" : 3
}
성공 - 로그인
HTTP request
GET /api/members/ee0605766571b1078b98a81c HTTP/1.1
Content-Type: application/json
Host: localhost:36185
HTTP response
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Content-Type: application/json
Transfer-Encoding: chunked
Date: Sun, 22 Dec 2024 10:59:51 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 425
{
"id" : "ee0605766571b1078b98a81c",
"profileImage" : {
"id" : "member-profile-default",
"url" : "https://foodymoody-test.s3.ap-northeast-2.amazonaws.com/foodymoody_logo.png"
},
"nickname" : "보노",
"email" : "bono@bono.com",
"tasteMood" : {
"id" : "1",
"name" : "베지테리언"
},
"followingCount" : 1,
"followerCount" : 1,
"following" : true,
"followed" : true,
"feedCount" : 0
}
존재하지 않는 회원 id일 때
HTTP response
HTTP/1.1 404 Not Found
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Content-Type: application/json
Transfer-Encoding: chunked
Date: Sun, 22 Dec 2024 10:59:52 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 92
{
"message" : "존재하지 않는 회원입니다",
"code" : "m001",
"errors" : { }
}
회원별 피드 조회
성공
HTTP request
GET /api/members/ee0604a26571b1078b98a808/feeds?page=0&size=10 HTTP/1.1
Content-Type: application/json
Host: localhost:36185
HTTP response
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Content-Type: application/json
Transfer-Encoding: chunked
Date: Sun, 22 Dec 2024 10:59:51 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 596
{
"content" : [ {
"id" : "ee0604fb6571b1078b98a814",
"imageUrl" : "https://s3Url/key"
}, {
"id" : "ee0604e96571b1078b98a80e",
"imageUrl" : "https://s3Url/key"
} ],
"pageable" : {
"sort" : {
"sorted" : false,
"unsorted" : true,
"empty" : true
},
"pageNumber" : 0,
"pageSize" : 10,
"offset" : 0,
"paged" : true,
"unpaged" : false
},
"sort" : {
"sorted" : false,
"unsorted" : true,
"empty" : true
},
"first" : true,
"last" : true,
"number" : 0,
"numberOfElements" : 2,
"size" : 10,
"empty" : false
}
성공 - 해당 회원이 작성한 피드가 없을 때
HTTP response
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Content-Type: application/json
Transfer-Encoding: chunked
Date: Sun, 22 Dec 2024 10:59:51 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 430
{
"content" : [ ],
"pageable" : {
"sort" : {
"sorted" : false,
"unsorted" : true,
"empty" : true
},
"pageNumber" : 0,
"pageSize" : 10,
"offset" : 0,
"paged" : true,
"unpaged" : false
},
"sort" : {
"sorted" : false,
"unsorted" : true,
"empty" : true
},
"first" : true,
"last" : true,
"number" : 0,
"numberOfElements" : 0,
"size" : 10,
"empty" : true
}
회원별 컬렉션 조회 ❤️
성공
HTTP request
GET /api/members/ee0601246571b1078b98a7be/collections?page=0&size=5 HTTP/1.1
Content-Type: application/json
Host: localhost:36185
HTTP response
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Content-Type: application/json
Transfer-Encoding: chunked
Date: Sun, 22 Dec 2024 10:59:50 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 3181
{
"count" : 6,
"author" : {
"id" : "ee0601246571b1078b98a7be",
"profileImageUrl" : "https://foodymoody-test.s3.ap-northeast-2.amazonaws.com/foodymoody_logo.png"
},
"collections" : {
"content" : [ {
"id" : "ee06028e6571b1078b98a7e8",
"title" : "테스트 컬렉션",
"thumbnailUrl" : "https://foodymoody-test.s3.ap-northeast-2.amazonaws.com/foodymoody_logo.png",
"feedCount" : 1,
"likeCount" : 0,
"commentCount" : 0,
"liked" : true,
"createdAt" : "2024-12-22T10:59:51.566601",
"updatedAt" : "2024-12-22T10:59:51.589186",
"moods" : [ {
"id" : "ee0601bb6571b1078b98a7d6",
"name" : "행복"
} ]
}, {
"id" : "ee06026f6571b1078b98a7e5",
"title" : "테스트 컬렉션",
"thumbnailUrl" : "https://foodymoody-test.s3.ap-northeast-2.amazonaws.com/foodymoody_logo.png",
"feedCount" : 1,
"likeCount" : 0,
"commentCount" : 0,
"liked" : false,
"createdAt" : "2024-12-22T10:59:51.535965",
"updatedAt" : "2024-12-22T10:59:51.555886",
"moods" : [ {
"id" : "ee0601bb6571b1078b98a7d6",
"name" : "행복"
} ]
}, {
"id" : "ee06024f6571b1078b98a7e2",
"title" : "테스트 컬렉션",
"thumbnailUrl" : "https://foodymoody-test.s3.ap-northeast-2.amazonaws.com/foodymoody_logo.png",
"feedCount" : 1,
"likeCount" : 0,
"commentCount" : 0,
"liked" : false,
"createdAt" : "2024-12-22T10:59:51.504004",
"updatedAt" : "2024-12-22T10:59:51.525096",
"moods" : [ {
"id" : "ee0601bb6571b1078b98a7d6",
"name" : "행복"
} ]
}, {
"id" : "ee06022a6571b1078b98a7df",
"title" : "테스트 컬렉션",
"thumbnailUrl" : "https://foodymoody-test.s3.ap-northeast-2.amazonaws.com/foodymoody_logo.png",
"feedCount" : 3,
"likeCount" : 0,
"commentCount" : 0,
"liked" : false,
"createdAt" : "2024-12-22T10:59:51.466028",
"updatedAt" : "2024-12-22T10:59:51.49299",
"moods" : [ {
"id" : "ee0601bb6571b1078b98a7d6",
"name" : "행복"
}, {
"id" : "ee0601c76571b1078b98a7d7",
"name" : "행복"
}, {
"id" : "ee0601d76571b1078b98a7d8",
"name" : "행복"
} ]
}, {
"id" : "ee06020a6571b1078b98a7dc",
"title" : "테스트 컬렉션",
"thumbnailUrl" : "https://foodymoody-test.s3.ap-northeast-2.amazonaws.com/foodymoody_logo.png",
"feedCount" : 2,
"likeCount" : 0,
"commentCount" : 0,
"liked" : false,
"createdAt" : "2024-12-22T10:59:51.434707",
"updatedAt" : "2024-12-22T10:59:51.455506",
"moods" : [ ]
} ],
"pageable" : {
"sort" : {
"sorted" : false,
"unsorted" : true,
"empty" : true
},
"pageNumber" : 0,
"pageSize" : 5,
"offset" : 0,
"paged" : true,
"unpaged" : false
},
"sort" : {
"sorted" : false,
"unsorted" : true,
"empty" : true
},
"first" : true,
"last" : false,
"number" : 0,
"numberOfElements" : 5,
"size" : 5,
"empty" : false
}
}
회원별 전체 컬렉션 제목 조회 🔐
성공
HTTP request
GET /api/members/me/collections/titles HTTP/1.1
Content-Type: application/json
Host: localhost:36185
HTTP response
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Content-Type: application/json
Transfer-Encoding: chunked
Date: Sun, 22 Dec 2024 10:59:50 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 584
[ {
"id" : "ee05ffd76571b1078b98a7b3",
"title" : "테스트 컬렉션",
"private" : false
}, {
"id" : "ee05ffb96571b1078b98a7b0",
"title" : "테스트 컬렉션",
"private" : false
}, {
"id" : "ee05ff976571b1078b98a7ad",
"title" : "테스트 컬렉션",
"private" : false
}, {
"id" : "ee05ff766571b1078b98a7aa",
"title" : "테스트 컬렉션",
"private" : false
}, {
"id" : "ee05ff556571b1078b98a7a7",
"title" : "테스트 컬렉션",
"private" : false
}, {
"id" : "ee05ff366571b1078b98a7a4",
"title" : "테스트 컬렉션",
"private" : false
} ]
회원별 전체 컬렉션 + 피드 포함 여부 조회 🔐
성공
HTTP request
GET /api/members/me/collections/with-feed-inclusion-status/ee05fc8d6571b1078b98a764 HTTP/1.1
Content-Type: application/json
Host: localhost:36185
HTTP response
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Content-Type: application/json
Transfer-Encoding: chunked
Date: Sun, 22 Dec 2024 10:59:49 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 714
[ {
"id" : "ee05fdb56571b1078b98a783",
"title" : "테스트 컬렉션",
"containsFeed" : false
}, {
"id" : "ee05fd946571b1078b98a780",
"title" : "테스트 컬렉션",
"containsFeed" : false
}, {
"id" : "ee05fd756571b1078b98a77d",
"title" : "테스트 컬렉션",
"containsFeed" : false
}, {
"id" : "ee05fd566571b1078b98a77a",
"title" : "테스트 컬렉션",
"containsFeed" : false
}, {
"id" : "ee05fd346571b1078b98a777",
"title" : "테스트 컬렉션",
"containsFeed" : true
}, {
"id" : "ee05fd146571b1078b98a774",
"title" : "테스트 컬렉션",
"containsFeed" : true
}, {
"id" : "ee05fcf86571b1078b98a771",
"title" : "테스트 컬렉션",
"containsFeed" : false
} ]
테이스트 무드 조회
성공
HTTP request
GET /api/members/taste-moods HTTP/1.1
Content-Type: application/json
Host: localhost:36185
HTTP response
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Content-Type: application/json
Transfer-Encoding: chunked
Date: Sun, 22 Dec 2024 10:59:49 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 259
[ {
"id" : "1",
"name" : "베지테리언"
}, {
"id" : "2",
"name" : "베지테리언2"
}, {
"id" : "3",
"name" : "무드1"
}, {
"id" : "4",
"name" : "무드2"
}, {
"id" : "5",
"name" : "무드3"
}, {
"id" : "6",
"name" : "무드4"
} ]
회원 닉네임 중복 여부 조회
성공
HTTP request
GET /api/members/duplication-check?nickname=%ED%91%B8%EB%B0%98 HTTP/1.1
Content-Type: application/json
Host: localhost:36185
HTTP response
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Content-Type: application/json
Transfer-Encoding: chunked
Date: Sun, 22 Dec 2024 10:59:49 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 24
{
"duplicate" : true
}
비밀번호 수정 🔐
성공
HTTP request
PUT /api/members/me/password HTTP/1.1
Content-Type: application/json
Host: localhost:36185
Content-Length: 97
{
"oldPassword" : "puban123!",
"repeatPassword" : "atiati123!",
"password" : "atiati123!"
}
HTTP response
HTTP/1.1 204 No Content
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Date: Sun, 22 Dec 2024 10:59:48 GMT
Keep-Alive: timeout=60
Connection: keep-alive
비밀번호 인증 실패할 때
HTTP response
HTTP/1.1 401 Unauthorized
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Content-Type: application/json
Transfer-Encoding: chunked
Date: Sun, 22 Dec 2024 10:59:48 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 118
{
"message" : "사용자 정보와 비밀번호가 일치하지 않습니다",
"code" : "a005",
"errors" : { }
}
비밀번호가 형식에 맞지 않을 때
HTTP response
HTTP/1.1 400 Bad Request
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Content-Type: application/json
Transfer-Encoding: chunked
Date: Sun, 22 Dec 2024 10:59:48 GMT
Connection: close
Content-Length: 217
{
"message" : "입력값이 올바르지 않습니다.",
"code" : "g001",
"errors" : {
"password" : "비밀번호는 8글자 이상 16글자 이하의 영문자, 특수문자로 이뤄져야 합니다"
}
}
회원 정보 수정 🔐
프로필 이미지, 닉네임, 테이스트 무드 수정 가능하고, 변경되지 않은 데이터는 null로 주셔도 됩니다
성공
HTTP request
PATCH /api/members/me HTTP/1.1
Content-Type: application/json
Host: localhost:36185
Content-Length: 108
{
"nickname" : "수정된보노",
"tasteMoodId" : "3",
"profileImageId" : "ee05f8976571b1078b98a735"
}
HTTP response
HTTP/1.1 204 No Content
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Date: Sun, 22 Dec 2024 10:59:48 GMT
Keep-Alive: timeout=60
Connection: keep-alive
성공 - 프로필 이미지만 수정
HTTP request
PATCH /api/members/me HTTP/1.1
Content-Type: application/json
Host: localhost:36185
Content-Length: 51
{
"profileImageId" : "ee05f62b6571b1078b98a71c"
}
HTTP response
HTTP/1.1 204 No Content
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Date: Sun, 22 Dec 2024 10:59:47 GMT
Keep-Alive: timeout=60
Connection: keep-alive
중복된 닉네임일 때
HTTP response
HTTP/1.1 400 Bad Request
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Content-Type: application/json
Transfer-Encoding: chunked
Date: Sun, 22 Dec 2024 10:59:48 GMT
Connection: close
Content-Length: 95
{
"message" : "이미 존재하는 닉네임입니다",
"code" : "m003",
"errors" : { }
}
존재하지 않는 이미지 id일 때
HTTP response
HTTP/1.1 404 Not Found
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Content-Type: application/json
Transfer-Encoding: chunked
Date: Sun, 22 Dec 2024 10:59:48 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 108
{
"message" : "해당 id의 이미지가 존재하지 않습니다",
"code" : "i001",
"errors" : { }
}
존재하지 않는 테이스트 무드 id일 때
HTTP response
HTTP/1.1 404 Not Found
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Content-Type: application/json
Transfer-Encoding: chunked
Date: Sun, 22 Dec 2024 10:59:47 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 92
{
"message" : "존재하지 않는 무드입니다",
"code" : "o002",
"errors" : { }
}
회원 탈퇴 🔐
성공
HTTP request
DELETE /api/members/me HTTP/1.1
Content-Type: application/json
Host: localhost:36185
HTTP response
HTTP/1.1 204 No Content
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Date: Sun, 22 Dec 2024 10:59:47 GMT
Keep-Alive: timeout=60
Connection: keep-alive
팔로우 🔐
성공
HTTP request
POST /api/members/ee05f3966571b1078b98a6f5/followers HTTP/1.1
Content-Type: application/json
Host: localhost:36185
HTTP response
HTTP/1.1 204 No Content
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Date: Sun, 22 Dec 2024 10:59:47 GMT
Keep-Alive: timeout=60
Connection: keep-alive
액세스 토큰이 유효하지 않을 때
HTTP response
HTTP/1.1 401 Unauthorized
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Content-Type: application/json;charset=UTF-8
Transfer-Encoding: chunked
Date: Sun, 22 Dec 2024 10:59:47 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 92
{
"message" : "토큰이 유효하지 않습니다",
"code" : "a001",
"errors" : { }
}
존재하지 않는 회원 id일 때
HTTP response
HTTP/1.1 404 Not Found
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Content-Type: application/json
Transfer-Encoding: chunked
Date: Sun, 22 Dec 2024 10:59:47 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 92
{
"message" : "존재하지 않는 회원입니다",
"code" : "m001",
"errors" : { }
}
팔로우 대상이 자기 자신일 때
HTTP response
HTTP/1.1 400 Bad Request
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Content-Type: application/json
Transfer-Encoding: chunked
Date: Sun, 22 Dec 2024 10:59:46 GMT
Connection: close
Content-Length: 96
{
"message" : "팔로우할 수 없는 회원입니다",
"code" : "g001",
"errors" : { }
}
언팔로우 🔐
성공
HTTP request
DELETE /api/members/ee05f1386571b1078b98a6e0/followers HTTP/1.1
Content-Type: application/json
Host: localhost:36185
HTTP response
HTTP/1.1 204 No Content
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Date: Sun, 22 Dec 2024 10:59:46 GMT
Keep-Alive: timeout=60
Connection: keep-alive
액세스 토큰이 유효하지 않을 때
HTTP response
HTTP/1.1 401 Unauthorized
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Content-Type: application/json;charset=UTF-8
Transfer-Encoding: chunked
Date: Sun, 22 Dec 2024 10:59:46 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 92
{
"message" : "토큰이 유효하지 않습니다",
"code" : "a001",
"errors" : { }
}
존재하지 않는 회원 id일 때
HTTP response
HTTP/1.1 404 Not Found
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Content-Type: application/json
Transfer-Encoding: chunked
Date: Sun, 22 Dec 2024 10:59:46 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 92
{
"message" : "존재하지 않는 회원입니다",
"code" : "m001",
"errors" : { }
}
언팔로우 대상이 자기 자신일 떄
HTTP response
HTTP/1.1 400 Bad Request
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Content-Type: application/json
Transfer-Encoding: chunked
Date: Sun, 22 Dec 2024 10:59:46 GMT
Connection: close
Content-Length: 99
{
"message" : "언팔로우할 수 없는 회원입니다",
"code" : "g001",
"errors" : { }
}
팔로잉 목록 조회
성공 - 비로그인
HTTP request
GET /api/members/ee05ef406571b1078b98a6c8/followings HTTP/1.1
Content-Type: application/json
Host: localhost:36185
HTTP response
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Content-Type: application/json
Transfer-Encoding: chunked
Date: Sun, 22 Dec 2024 10:59:46 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 1329
{
"content" : [ {
"id" : "ee05ef906571b1078b98a6ce",
"nickname" : "보노",
"profileImageUrl" : "https://foodymoody-test.s3.ap-northeast-2.amazonaws.com/foodymoody_logo.png",
"following" : false,
"followed" : false
}, {
"id" : "ee05ef7b6571b1078b98a6cc",
"nickname" : "설리",
"profileImageUrl" : "https://foodymoody-test.s3.ap-northeast-2.amazonaws.com/foodymoody_logo.png",
"following" : false,
"followed" : false
}, {
"id" : "ee05ef666571b1078b98a6ca",
"nickname" : "알버트",
"profileImageUrl" : "https://foodymoody-test.s3.ap-northeast-2.amazonaws.com/foodymoody_logo.png",
"following" : false,
"followed" : false
}, {
"id" : "ee05ef1c6571b1078b98a6c6",
"nickname" : "아티",
"profileImageUrl" : "https://foodymoody-test.s3.ap-northeast-2.amazonaws.com/foodymoody_logo.png",
"following" : false,
"followed" : false
} ],
"pageable" : {
"sort" : {
"sorted" : false,
"unsorted" : true,
"empty" : true
},
"pageNumber" : 0,
"pageSize" : 10,
"offset" : 0,
"paged" : true,
"unpaged" : false
},
"sort" : {
"sorted" : false,
"unsorted" : true,
"empty" : true
},
"first" : true,
"last" : true,
"number" : 0,
"numberOfElements" : 4,
"size" : 10,
"empty" : false
}
성공 - 팔로우 중인 회원이 없을 때
HTTP response
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Content-Type: application/json
Transfer-Encoding: chunked
Date: Sun, 22 Dec 2024 10:59:45 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 430
{
"content" : [ ],
"pageable" : {
"sort" : {
"sorted" : false,
"unsorted" : true,
"empty" : true
},
"pageNumber" : 0,
"pageSize" : 10,
"offset" : 0,
"paged" : true,
"unpaged" : false
},
"sort" : {
"sorted" : false,
"unsorted" : true,
"empty" : true
},
"first" : true,
"last" : true,
"number" : 0,
"numberOfElements" : 0,
"size" : 10,
"empty" : true
}
성공 - 로그인
HTTP response
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Content-Type: application/json
Transfer-Encoding: chunked
Date: Sun, 22 Dec 2024 10:59:45 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 1102
{
"content" : [ {
"id" : "ee05ee246571b1078b98a6ba",
"nickname" : "푸반",
"profileImageUrl" : "https://foodymoody-test.s3.ap-northeast-2.amazonaws.com/foodymoody_logo.png",
"following" : false,
"followed" : false
}, {
"id" : "ee05ee486571b1078b98a6bc",
"nickname" : "알버트",
"profileImageUrl" : "https://foodymoody-test.s3.ap-northeast-2.amazonaws.com/foodymoody_logo.png",
"following" : true,
"followed" : false
}, {
"id" : "ee05ee016571b1078b98a6b8",
"nickname" : "아티",
"profileImageUrl" : "https://foodymoody-test.s3.ap-northeast-2.amazonaws.com/foodymoody_logo.png",
"following" : true,
"followed" : true
} ],
"pageable" : {
"sort" : {
"sorted" : false,
"unsorted" : true,
"empty" : true
},
"pageNumber" : 0,
"pageSize" : 10,
"offset" : 0,
"paged" : true,
"unpaged" : false
},
"sort" : {
"sorted" : false,
"unsorted" : true,
"empty" : true
},
"first" : true,
"last" : true,
"number" : 0,
"numberOfElements" : 3,
"size" : 10,
"empty" : false
}
팔로워 목록 조회
성공 - 비로그인
HTTP request
GET /api/members/ee05eb176571b1078b98a696/followers HTTP/1.1
Content-Type: application/json
Host: localhost:36185
HTTP response
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Content-Type: application/json
Transfer-Encoding: chunked
Date: Sun, 22 Dec 2024 10:59:45 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 1329
{
"content" : [ {
"id" : "ee05eb6a6571b1078b98a69c",
"nickname" : "보노",
"profileImageUrl" : "https://foodymoody-test.s3.ap-northeast-2.amazonaws.com/foodymoody_logo.png",
"following" : false,
"followed" : false
}, {
"id" : "ee05eb5d6571b1078b98a69a",
"nickname" : "설리",
"profileImageUrl" : "https://foodymoody-test.s3.ap-northeast-2.amazonaws.com/foodymoody_logo.png",
"following" : false,
"followed" : false
}, {
"id" : "ee05eb4f6571b1078b98a698",
"nickname" : "알버트",
"profileImageUrl" : "https://foodymoody-test.s3.ap-northeast-2.amazonaws.com/foodymoody_logo.png",
"following" : false,
"followed" : false
}, {
"id" : "ee05eaf16571b1078b98a694",
"nickname" : "아티",
"profileImageUrl" : "https://foodymoody-test.s3.ap-northeast-2.amazonaws.com/foodymoody_logo.png",
"following" : false,
"followed" : false
} ],
"pageable" : {
"sort" : {
"sorted" : false,
"unsorted" : true,
"empty" : true
},
"pageNumber" : 0,
"pageSize" : 10,
"offset" : 0,
"paged" : true,
"unpaged" : false
},
"sort" : {
"sorted" : false,
"unsorted" : true,
"empty" : true
},
"first" : true,
"last" : true,
"number" : 0,
"numberOfElements" : 4,
"size" : 10,
"empty" : false
}
성공 - 팔로워가 없을 때
HTTP response
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Content-Type: application/json
Transfer-Encoding: chunked
Date: Sun, 22 Dec 2024 10:59:45 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 430
{
"content" : [ ],
"pageable" : {
"sort" : {
"sorted" : false,
"unsorted" : true,
"empty" : true
},
"pageNumber" : 0,
"pageSize" : 10,
"offset" : 0,
"paged" : true,
"unpaged" : false
},
"sort" : {
"sorted" : false,
"unsorted" : true,
"empty" : true
},
"first" : true,
"last" : true,
"number" : 0,
"numberOfElements" : 0,
"size" : 10,
"empty" : true
}
성공 - 로그인
HTTP response
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Content-Type: application/json
Transfer-Encoding: chunked
Date: Sun, 22 Dec 2024 10:59:45 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 1102
{
"content" : [ {
"id" : "ee05ee246571b1078b98a6ba",
"nickname" : "푸반",
"profileImageUrl" : "https://foodymoody-test.s3.ap-northeast-2.amazonaws.com/foodymoody_logo.png",
"following" : false,
"followed" : false
}, {
"id" : "ee05ee486571b1078b98a6bc",
"nickname" : "알버트",
"profileImageUrl" : "https://foodymoody-test.s3.ap-northeast-2.amazonaws.com/foodymoody_logo.png",
"following" : true,
"followed" : false
}, {
"id" : "ee05ee016571b1078b98a6b8",
"nickname" : "아티",
"profileImageUrl" : "https://foodymoody-test.s3.ap-northeast-2.amazonaws.com/foodymoody_logo.png",
"following" : true,
"followed" : true
} ],
"pageable" : {
"sort" : {
"sorted" : false,
"unsorted" : true,
"empty" : true
},
"pageNumber" : 0,
"pageSize" : 10,
"offset" : 0,
"paged" : true,
"unpaged" : false
},
"sort" : {
"sorted" : false,
"unsorted" : true,
"empty" : true
},
"first" : true,
"last" : true,
"number" : 0,
"numberOfElements" : 3,
"size" : 10,
"empty" : false
}
알림
알림 전체 조회 🔐
HTTP request
GET /api/notifications?size=100&page=0 HTTP/1.1
Host: localhost:36185
HTTP response
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Content-Type: application/json
Transfer-Encoding: chunked
Date: Sun, 22 Dec 2024 10:59:53 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 11737
{
"content" : [ {
"notificationId" : "ee060b8e6571b1078b98a894",
"sender" : {
"id" : "ee0609ca6571b1078b98a857",
"nickname" : "푸반",
"imageUrl" : "https://foodymoody-test.s3.ap-northeast-2.amazonaws.com/foodymoody_logo.png"
},
"target" : {
"@type" : "FeedCollectionReplyLikeNotificationDetails",
"feedCollectionId" : "ee060b0e6571b1078b98a87f",
"feedCollectionThumbnailUrl" : null,
"feedCollectionCommentId" : "ee060b466571b1078b98a888",
"feedCollectionReplyId" : "ee060b756571b1078b98a890",
"feedCollectionReplyContent" : "대댓글입니다."
},
"type" : "FEED_COLLECTION_COMMENT_REPLY_LIKED_ADDED_EVENT",
"createdAt" : "2024-12-22T10:59:53.862205",
"updatedAt" : "2024-12-22T10:59:53.862205",
"read" : false
}, {
"notificationId" : "ee060b7e6571b1078b98a892",
"sender" : {
"id" : "ee0609a76571b1078b98a855",
"nickname" : "아티",
"imageUrl" : "https://foodymoody-test.s3.ap-northeast-2.amazonaws.com/foodymoody_logo.png"
},
"target" : {
"@type" : "FeedCollectionReplyNotificationDetails",
"feedCollectionId" : "ee060b0e6571b1078b98a87f",
"feedCollectionThumbnailUrl" : null,
"feedCollectionCommentId" : "ee060b466571b1078b98a888",
"feedCollectionReplyId" : "ee060b756571b1078b98a890",
"feedCollectionReplyContent" : "대댓글입니다."
},
"type" : "FEED_COLLECTION_COMMENT_REPLY_ADDED_EVENT",
"createdAt" : "2024-12-22T10:59:53.845488",
"updatedAt" : "2024-12-22T10:59:53.845488",
"read" : false
}, {
"notificationId" : "ee060b6f6571b1078b98a88f",
"sender" : {
"id" : "ee0609a76571b1078b98a855",
"nickname" : "아티",
"imageUrl" : "https://foodymoody-test.s3.ap-northeast-2.amazonaws.com/foodymoody_logo.png"
},
"target" : {
"@type" : "FeedCollectionReplyNotificationDetails",
"feedCollectionId" : "ee060b0e6571b1078b98a87f",
"feedCollectionThumbnailUrl" : null,
"feedCollectionCommentId" : "ee060b466571b1078b98a888",
"feedCollectionReplyId" : "ee060b656571b1078b98a88d",
"feedCollectionReplyContent" : "대댓글입니다."
},
"type" : "FEED_COLLECTION_COMMENT_REPLY_ADDED_EVENT",
"createdAt" : "2024-12-22T10:59:53.829868",
"updatedAt" : "2024-12-22T10:59:53.829868",
"read" : false
}, {
"notificationId" : "ee060b636571b1078b98a88c",
"sender" : {
"id" : "ee0609ca6571b1078b98a857",
"nickname" : "푸반",
"imageUrl" : "https://foodymoody-test.s3.ap-northeast-2.amazonaws.com/foodymoody_logo.png"
},
"target" : {
"@type" : "FeedCollectionCommentLikeNotificationDetails",
"feedCollectionCommentId" : "ee060b466571b1078b98a888",
"feedCollectionCommentContent" : "댓글 내용",
"feedCollectionId" : "ee060b0e6571b1078b98a87f",
"feedCollectionThumbnailUrl" : null
},
"type" : "FEED_COLLECTION_COMMENT_LIKED_ADDED_EVENT",
"createdAt" : "2024-12-22T10:59:53.818399",
"updatedAt" : "2024-12-22T10:59:53.818399",
"read" : false
}, {
"notificationId" : "ee060b506571b1078b98a88a",
"sender" : {
"id" : "ee0609a76571b1078b98a855",
"nickname" : "아티",
"imageUrl" : "https://foodymoody-test.s3.ap-northeast-2.amazonaws.com/foodymoody_logo.png"
},
"target" : {
"@type" : "FeedCollectionCommentNotificationDetails",
"feedCollectionId" : "ee060b0e6571b1078b98a87f",
"feedCollectionThumbnailUrl" : null,
"feedCollectionCommentId" : "ee060b466571b1078b98a888",
"feedCollectionCommentContent" : "댓글 내용"
},
"type" : "FEED_COLLECTION_COMMENT_ADDED_EVENT",
"createdAt" : "2024-12-22T10:59:53.79843",
"updatedAt" : "2024-12-22T10:59:53.79843",
"read" : false
}, {
"notificationId" : "ee060b3e6571b1078b98a887",
"sender" : {
"id" : "ee0609ca6571b1078b98a857",
"nickname" : "푸반",
"imageUrl" : "https://foodymoody-test.s3.ap-northeast-2.amazonaws.com/foodymoody_logo.png"
},
"target" : {
"@type" : "FeedCollectionCommentNotificationDetails",
"feedCollectionId" : "ee060b0e6571b1078b98a87f",
"feedCollectionThumbnailUrl" : null,
"feedCollectionCommentId" : "ee060b356571b1078b98a885",
"feedCollectionCommentContent" : "댓글 내용"
},
"type" : "FEED_COLLECTION_COMMENT_ADDED_EVENT",
"createdAt" : "2024-12-22T10:59:53.781477",
"updatedAt" : "2024-12-22T10:59:53.781477",
"read" : false
}, {
"notificationId" : "ee060b296571b1078b98a884",
"sender" : {
"id" : "ee0609ca6571b1078b98a857",
"nickname" : "푸반",
"imageUrl" : "https://foodymoody-test.s3.ap-northeast-2.amazonaws.com/foodymoody_logo.png"
},
"target" : {
"@type" : "FeedCollectionLikeNotificationDetails",
"feedCollectionId" : "ee060b0e6571b1078b98a87f",
"feedCollectionThumbnailUrl" : null
},
"type" : "FEED_COLLECTION_LIKED_ADDED_EVENT",
"createdAt" : "2024-12-22T10:59:53.761606",
"updatedAt" : "2024-12-22T10:59:53.761606",
"read" : false
}, {
"notificationId" : "ee060b046571b1078b98a87e",
"sender" : {
"id" : "ee0609ca6571b1078b98a857",
"nickname" : "푸반",
"imageUrl" : "https://foodymoody-test.s3.ap-northeast-2.amazonaws.com/foodymoody_logo.png"
},
"target" : {
"@type" : "FeedCommentReplyLikeNotificationDetails",
"feedId" : "ee060a6b6571b1078b98a86a",
"feedThumbnailUrl" : "https://foodymoody-test.s3.ap-northeast-2.amazonaws.com/foodymoody_logo.png",
"feedCommentId" : "ee060aaf6571b1078b98a874",
"feedReplyId" : "ee060ae86571b1078b98a87a",
"feedReplyContent" : "댓글 내용"
},
"type" : "FEED_COMMENT_REPLY_LIKED_ADDED_EVENT",
"createdAt" : "2024-12-22T10:59:53.725364",
"updatedAt" : "2024-12-22T10:59:53.725364",
"read" : false
}, {
"notificationId" : "ee060af16571b1078b98a87c",
"sender" : {
"id" : "ee0609a76571b1078b98a855",
"nickname" : "아티",
"imageUrl" : "https://foodymoody-test.s3.ap-northeast-2.amazonaws.com/foodymoody_logo.png"
},
"target" : {
"@type" : "FeedCommentReplyNotificationDetails",
"feedCommentId" : "ee060aaf6571b1078b98a874",
"feedId" : "ee060a6b6571b1078b98a86a",
"feedThumbnailUrl" : "https://foodymoody-test.s3.ap-northeast-2.amazonaws.com/foodymoody_logo.png",
"feedReplyId" : "ee060ae86571b1078b98a87a",
"feedReplyContent" : "댓글 내용"
},
"type" : "FEED_COMMENT_REPLY_ADDED_EVENT",
"createdAt" : "2024-12-22T10:59:53.704933",
"updatedAt" : "2024-12-22T10:59:53.704933",
"read" : false
}, {
"notificationId" : "ee060ace6571b1078b98a879",
"sender" : {
"id" : "ee0609ca6571b1078b98a857",
"nickname" : "푸반",
"imageUrl" : "https://foodymoody-test.s3.ap-northeast-2.amazonaws.com/foodymoody_logo.png"
},
"target" : {
"@type" : "FeedCommentReplyNotificationDetails",
"feedCommentId" : "ee060aaf6571b1078b98a874",
"feedId" : "ee060a6b6571b1078b98a86a",
"feedThumbnailUrl" : "https://foodymoody-test.s3.ap-northeast-2.amazonaws.com/foodymoody_logo.png",
"feedReplyId" : "ee060ac56571b1078b98a877",
"feedReplyContent" : "댓글 내용"
},
"type" : "FEED_COMMENT_REPLY_ADDED_EVENT",
"createdAt" : "2024-12-22T10:59:53.669639",
"updatedAt" : "2024-12-22T10:59:53.669639",
"read" : false
}, {
"notificationId" : "ee060ab66571b1078b98a876",
"sender" : {
"id" : "ee0609a76571b1078b98a855",
"nickname" : "아티",
"imageUrl" : "https://foodymoody-test.s3.ap-northeast-2.amazonaws.com/foodymoody_logo.png"
},
"target" : {
"@type" : "FeedCommentNotificationDetails",
"feedId" : "ee060a6b6571b1078b98a86a",
"feedThumbnailUrl" : "https://foodymoody-test.s3.ap-northeast-2.amazonaws.com/foodymoody_logo.png",
"feedCommentId" : "ee060aaf6571b1078b98a874",
"feedCommentContent" : "댓글 내용"
},
"type" : "FEED_COMMENT_ADDED_EVENT",
"createdAt" : "2024-12-22T10:59:53.647498",
"updatedAt" : "2024-12-22T10:59:53.647498",
"read" : false
}, {
"notificationId" : "ee060aa36571b1078b98a873",
"sender" : {
"id" : "ee0609ca6571b1078b98a857",
"nickname" : "푸반",
"imageUrl" : "https://foodymoody-test.s3.ap-northeast-2.amazonaws.com/foodymoody_logo.png"
},
"target" : {
"@type" : "FeedCommentNotificationDetails",
"feedId" : "ee060a6b6571b1078b98a86a",
"feedThumbnailUrl" : "https://foodymoody-test.s3.ap-northeast-2.amazonaws.com/foodymoody_logo.png",
"feedCommentId" : "ee060a9a6571b1078b98a871",
"feedCommentContent" : "댓글 내용"
},
"type" : "FEED_COMMENT_ADDED_EVENT",
"createdAt" : "2024-12-22T10:59:53.626555",
"updatedAt" : "2024-12-22T10:59:53.626555",
"read" : false
}, {
"notificationId" : "ee060a926571b1078b98a870",
"sender" : {
"id" : "ee0609ca6571b1078b98a857",
"nickname" : "푸반",
"imageUrl" : "https://foodymoody-test.s3.ap-northeast-2.amazonaws.com/foodymoody_logo.png"
},
"target" : {
"@type" : "FeedLikeNotificationDetails",
"feedId" : "ee060a6b6571b1078b98a86a",
"feedThumbnailUrl" : "https://foodymoody-test.s3.ap-northeast-2.amazonaws.com/foodymoody_logo.png"
},
"type" : "FEED_LIKED_ADDED_EVENT",
"createdAt" : "2024-12-22T10:59:53.609686",
"updatedAt" : "2024-12-22T10:59:53.609686",
"read" : false
}, {
"notificationId" : "ee060a576571b1078b98a867",
"sender" : {
"id" : "ee0609ca6571b1078b98a857",
"nickname" : "푸반",
"imageUrl" : "https://foodymoody-test.s3.ap-northeast-2.amazonaws.com/foodymoody_logo.png"
},
"target" : {
"@type" : "FeedCollectionNotificationDetails",
"feedCollectionId" : "ee060a4c6571b1078b98a864",
"feedCollectionTitle" : "테스트 컬렉션",
"feedCollectionThumbnailUrl" : null
},
"type" : "FEED_COLLECTION_ADDED_EVENT",
"createdAt" : "2024-12-22T10:59:53.548789",
"updatedAt" : "2024-12-22T10:59:53.548789",
"read" : false
}, {
"notificationId" : "ee060a3e6571b1078b98a863",
"sender" : {
"id" : "ee0609ca6571b1078b98a857",
"nickname" : "푸반",
"imageUrl" : "https://foodymoody-test.s3.ap-northeast-2.amazonaws.com/foodymoody_logo.png"
},
"target" : {
"@type" : "FeedNotificationDetails",
"feedId" : "ee060a306571b1078b98a85f",
"feedThumbnailUrl" : "https://foodymoody-test.s3.ap-northeast-2.amazonaws.com/foodymoody_logo.png"
},
"type" : "FEED_ADDED_EVENT",
"createdAt" : "2024-12-22T10:59:53.520196",
"updatedAt" : "2024-12-22T10:59:53.520196",
"read" : false
}, {
"notificationId" : "ee060a236571b1078b98a85c",
"sender" : {
"id" : "ee0609ca6571b1078b98a857",
"nickname" : "푸반",
"imageUrl" : "https://foodymoody-test.s3.ap-northeast-2.amazonaws.com/foodymoody_logo.png"
},
"target" : {
"@type" : "MemberFollowedNotificationDetails",
"followed" : true
},
"type" : "MEMBER_FOLLOWED_EVENT",
"createdAt" : "2024-12-22T10:59:53.503823",
"updatedAt" : "2024-12-22T10:59:53.503823",
"read" : false
} ],
"pageable" : {
"sort" : {
"sorted" : true,
"unsorted" : false,
"empty" : false
},
"pageNumber" : 0,
"pageSize" : 100,
"offset" : 0,
"paged" : true,
"unpaged" : false
},
"sort" : {
"sorted" : true,
"unsorted" : false,
"empty" : false
},
"first" : true,
"last" : true,
"number" : 0,
"numberOfElements" : 16,
"size" : 100,
"empty" : false
}
개별 알림 조회 🔐
HTTP request
GET /api/notifications/ee060d996571b1078b98a8d2 HTTP/1.1
Host: localhost:36185
HTTP response
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Content-Type: application/json
Transfer-Encoding: chunked
Date: Sun, 22 Dec 2024 10:59:53 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 741
{
"notificationId" : "ee060d996571b1078b98a8d2",
"sender" : {
"id" : "ee060bfe6571b1078b98a895",
"nickname" : "아티",
"imageUrl" : "https://foodymoody-test.s3.ap-northeast-2.amazonaws.com/foodymoody_logo.png"
},
"target" : {
"@type" : "FeedCollectionReplyNotificationDetails",
"feedCollectionId" : "ee060d1d6571b1078b98a8bf",
"feedCollectionThumbnailUrl" : null,
"feedCollectionCommentId" : "ee060d5c6571b1078b98a8c8",
"feedCollectionReplyId" : "ee060d906571b1078b98a8d0",
"feedCollectionReplyContent" : "대댓글입니다."
},
"type" : "FEED_COLLECTION_COMMENT_REPLY_ADDED_EVENT",
"createdAt" : "2024-12-22T10:59:54.38405",
"updatedAt" : "2024-12-22T10:59:54.452212",
"read" : true
}
모든 알림을 읽음으로 변경 🔐
HTTP request
PUT /api/notifications/read-status HTTP/1.1
Accept: application/json;charset=UTF-8
Content-Type: application/json;charset=UTF-8
Host: localhost:36185
HTTP response
HTTP/1.1 204 No Content
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Date: Sun, 22 Dec 2024 10:59:54 GMT
Keep-Alive: timeout=60
Connection: keep-alive
알림 개별 삭제 🔐
HTTP request
DELETE /api/notifications/ee0611d56571b1078b98a952 HTTP/1.1
Host: localhost:36185
HTTP response
HTTP/1.1 204 No Content
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Date: Sun, 22 Dec 2024 10:59:54 GMT
Keep-Alive: timeout=60
Connection: keep-alive
모든 읽은 알림 삭제 🔐
HTTP request
DELETE /api/notifications/read-status HTTP/1.1
Host: localhost:36185
HTTP response
HTTP/1.1 204 No Content
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Date: Sun, 22 Dec 2024 10:59:55 GMT
Keep-Alive: timeout=60
Connection: keep-alive
알림 설정
알림 설정 조회 🔐
HTTP request
GET /api/notification/settings HTTP/1.1
Host: localhost:36185
HTTP response
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Content-Type: application/json
Transfer-Encoding: chunked
Date: Sun, 22 Dec 2024 10:59:55 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 175
{
"allNotification" : true,
"feedLike" : true,
"collectionLike" : true,
"commentLike" : true,
"follow" : true,
"feedComment" : true,
"collectionComment" : true
}
알림 설정 변경 🔐
HTTP request
PUT /api/notification/settings HTTP/1.1
Content-Type: application/json
Host: localhost:36185
Content-Length: 153
{
"collectionLike" : false,
"collectionComment" : false,
"feedLike" : false,
"commentLike" : false,
"follow" : false,
"feedComment" : false
}
HTTP response
HTTP/1.1 204 No Content
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Date: Sun, 22 Dec 2024 10:59:55 GMT
Keep-Alive: timeout=60
Connection: keep-alive
모든 알림 설정 on/off 변경 🔐
HTTP request
PUT /api/notification/settings/all HTTP/1.1
Content-Type: application/json
Host: localhost:36185
Content-Length: 21
{
"allow" : false
}
HTTP response
HTTP/1.1 204 No Content
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Date: Sun, 22 Dec 2024 10:59:55 GMT
Keep-Alive: timeout=60
Connection: keep-alive
SSE
알림 실시간 전송 🔐
GET /api/sse HTTP/1.1
Host: localhost:51316
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Content-Type: text/event-stream
Transfer-Encoding: chunked
Date: Fri, 19 Jan 2024 03:39:32 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 1981
event:connect
data:connected!
event:notification
id:1fcd6b1df405114492eae118
data:{"count":5}
event:notification
id:1fcd6b1df405114492eae118
data:{"count":5}
event:notification
id:1fcd6b1df405114492eae118
data:{"count":5}
event:notification
id:1fcd6b1df405114492eae118
data:{"count":5}
event:notification
id:1fcd6b1df405114492eae118
data:{"count":5}
event:notification
id:1fcd6b1df405114492eae118
data:{"count":5}
event:notification
id:1fcd6b1df405114492eae118
data:{"count":5}
event:notification
id:1fcd6b1df405114492eae118
data:{"count":5}
event:notification
id:1fcd6b1df405114492eae118
data:{"count":5}
event:notification
id:1fcd6b1df405114492eae118
data:{"count":5}
event:notification
id:1fcd6b1df405114492eae118
data:{"count":5}
event:notification
id:1fcd6b1df405114492eae118
data:{"count":5}
event:notification
id:1fcd6b1df405114492eae118
data:{"count":5}
event:notification
id:1fcd6b1df405114492eae118
data:{"count":5}
event:notification
id:1fcd6b1df405114492eae118
data:{"count":5}
event:notification
id:1fcd6b1df405114492eae118
data:{"count":5}
event:notification
id:1fcd6b1df405114492eae118
data:{"count":5}
event:notification
id:1fcd6b1df405114492eae118
data:{"count":5}
event:notification
id:1fcd6b1df405114492eae118
data:{"count":5}
event:notification
id:1fcd6b1df405114492eae118
data:{"count":5}
event:notification
id:1fcd6b1df405114492eae118
data:{"count":5}
event:notification
id:1fcd6b1df405114492eae118
data:{"count":5}
event:notification
id:1fcd6b1df405114492eae118
data:{"count":5}
event:notification
id:1fcd6b1df405114492eae118
data:{"count":5}
event:notification
id:1fcd6b1df405114492eae118
data:{"count":5}
event:notification
id:1fcd6b1df405114492eae118
data:{"count":5}
event:notification
id:1fcd6b1df405114492eae118
data:{"count":5}
event:notification
id:1fcd6b1df405114492eae118
data:{"count":5}
event:notification
id:1fcd6b1df405114492eae118
data:{"count":5}
event:notification
id:1fcd6b1df405114492eae118
data:{"count":5}
이미지
이미지 업로드 공통
요청 body에 이미지 파일이 깨져서 나와서 curl입니다
이미지 크기가 2.8MB보다 클 때
HTTP response
HTTP/1.1 400 Bad Request
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Content-Type: application/json
Transfer-Encoding: chunked
Date: Sun, 22 Dec 2024 10:59:44 GMT
Connection: close
Content-Length: 111
{
"message" : "2.8MB 이하의 이미지만 업로드 가능합니다",
"code" : "i007",
"errors" : { }
}
지원되지 않는 형식의 이미지일 때
현재 jpeg(jpg), png 지원됩니다
HTTP response
HTTP/1.1 400 Bad Request
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Content-Type: application/json
Transfer-Encoding: chunked
Date: Sun, 22 Dec 2024 10:59:44 GMT
Connection: close
Content-Length: 102
{
"message" : "지원되지 않는 이미지 형식입니다",
"code" : "i005",
"errors" : { }
}
회원 이미지 업로드
성공
Curl request
$ curl 'http://localhost:36185/api/images/members' -i -X POST \
-H 'Content-Type: multipart/form-data; boundary="9nkJq-bCU-BLnAW71juRp8rIm4jbYH"' \
-F 'file=@potato.jpg;type=application/octet-stream'
HTTP response
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Content-Type: application/json
Transfer-Encoding: chunked
Date: Sun, 22 Dec 2024 10:59:44 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 70
{
"id" : "ee05e8126571b1078b98a686",
"url" : "https://s3Url/key"
}
피드 이미지 업로드
성공
Curl request
$ curl 'http://localhost:36185/api/images/feeds' -i -X POST \
-H 'Content-Type: multipart/form-data; boundary="FzMNRcIKpjAA4aq7kS7g-IE6l6MVYgV"' \
-F 'file=@potato.jpg;type=application/octet-stream'
HTTP response
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Content-Type: application/json
Transfer-Encoding: chunked
Date: Sun, 22 Dec 2024 10:59:44 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 70
{
"id" : "ee05eaa56571b1078b98a693",
"url" : "https://s3Url/key"
}
이미지 삭제
성공
HTTP request
DELETE /api/images/ee05e77e6571b1078b98a681 HTTP/1.1
Content-Type: application/json
Host: localhost:36185
HTTP response
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Date: Sun, 22 Dec 2024 10:59:44 GMT
Keep-Alive: timeout=60
Connection: keep-alive
존재하지 않는 이미지 id일 때
HTTP response
HTTP/1.1 404 Not Found
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Content-Type: application/json
Transfer-Encoding: chunked
Date: Sun, 22 Dec 2024 10:59:43 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 108
{
"message" : "해당 id의 이미지가 존재하지 않습니다",
"code" : "i001",
"errors" : { }
}
현재 로그인한 회원이 업로드한 이미지가 아닐 때
HTTP response
HTTP/1.1 401 Unauthorized
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Content-Type: application/json
Transfer-Encoding: chunked
Date: Sun, 22 Dec 2024 10:59:43 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 79
{
"message" : "권한이 없습니다",
"code" : "a001",
"errors" : { }
}
컬렉션
컬렉션 등록 🔐
HTTP request
POST /api/feed_collections HTTP/1.1
Content-Type: application/json
Host: localhost:36185
Content-Length: 211
{
"private" : false,
"description" : "테스트 컬렉션입니다.",
"moodIds" : [ "ee05931f6571b1078b989fcd", "ee0593386571b1078b989fce", "ee0593516571b1078b989fcf" ],
"title" : "테스트 컬렉션"
}
HTTP response
HTTP/1.1 201 Created
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Content-Type: application/json
Transfer-Encoding: chunked
Date: Sun, 22 Dec 2024 10:59:22 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 39
{
"id" : "ee05936e6571b1078b989fd0"
}
컬렉션 수정 🔐
HTTP request
PUT /api/feed_collections/ee059c886571b1078b98a087 HTTP/1.1
Content-Type: application/json
Host: localhost:36185
Content-Length: 178
{
"moodIds" : [ "ee059c586571b1078b98a085", "ee059c706571b1078b98a086" ],
"title" : "수정된 테스트 컬렉션",
"content" : "수정된 테스트 컬렉션입니다."
}
HTTP response
HTTP/1.1 204 No Content
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Date: Sun, 22 Dec 2024 10:59:25 GMT
Keep-Alive: timeout=60
Connection: keep-alive
컬렉션 피드 리스트 수정 🔐
HTTP request
PUT /api/feed_collections/ee05a4146571b1078b98a13a/feeds HTTP/1.1
Content-Type: application/json
Host: localhost:36185
Content-Length: 160
{
"feedIds" : [ "ee05a3bc6571b1078b98a133", "ee05a3986571b1078b98a12d", "ee05a37a6571b1078b98a127", "ee05a35a6571b1078b98a121", "ee05a32a6571b1078b98a11b" ]
}
HTTP response
HTTP/1.1 204 No Content
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Date: Sun, 22 Dec 2024 10:59:27 GMT
Keep-Alive: timeout=60
Connection: keep-alive
컬렉션 피드 리스트에 피드 추가 🔐
HTTP request
POST /api/feed_collections/ee059ffd6571b1078b98a0d8/feeds HTTP/1.1
Content-Type: application/json
Host: localhost:36185
Content-Length: 43
{
"feedId" : "ee059f176571b1078b98a0b9"
}
HTTP response
HTTP/1.1 201 Created
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Date: Sun, 22 Dec 2024 10:59:26 GMT
Keep-Alive: timeout=60
Connection: keep-alive
컬렉션 피드 리스트에서 피드 삭제 🔐
HTTP request
DELETE /api/feed_collections/ee0598a56571b1078b98a033/feeds/ee0597bd6571b1078b98a014 HTTP/1.1
Host: localhost:36185
HTTP response
HTTP/1.1 204 No Content
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Date: Sun, 22 Dec 2024 10:59:24 GMT
Keep-Alive: timeout=60
Connection: keep-alive
컬렉션 피드 리스트 및 썸네일 수정 🔐
HTTP request
PUT /api/feed_collections/ee059ab06571b1078b98a05d/feeds HTTP/1.1
Content-Type: application/json
Host: localhost:36185
Content-Length: 256
{
"thumbnail" : "https://foodymoody-test.s3.ap-northeast-2.amazonaws.com/foodymoody_logo.png1",
"feedIds" : [ "ee059a476571b1078b98a056", "ee059a1d6571b1078b98a050", "ee0599f36571b1078b98a04a", "ee0599ca6571b1078b98a044", "ee0599a96571b1078b98a03e" ]
}
HTTP response
HTTP/1.1 204 No Content
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Date: Sun, 22 Dec 2024 10:59:24 GMT
Keep-Alive: timeout=60
Connection: keep-alive
컬렉션 삭제 🔐
HTTP request
DELETE /api/feed_collections/ee0591786571b1078b989fa6 HTTP/1.1
Host: localhost:36185
HTTP response
HTTP/1.1 204 No Content
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Date: Sun, 22 Dec 2024 10:59:22 GMT
Keep-Alive: timeout=60
Connection: keep-alive
컬렉션 전체 조회 ❤️
HTTP request
GET /api/feed_collections?page=0&size=10 HTTP/1.1
Host: localhost:36185
HTTP response
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Content-Type: application/json
Transfer-Encoding: chunked
Date: Sun, 22 Dec 2024 10:59:28 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 3177
{
"content" : [ {
"id" : "ee05a7ce6571b1078b98a194",
"author" : {
"id" : "ee05a61f6571b1078b98a167",
"name" : "아티",
"mood" : "베지테리언",
"profileImageUrl" : "https://foodymoody-test.s3.ap-northeast-2.amazonaws.com/foodymoody_logo.png"
},
"title" : "테스트 컬렉션",
"description" : "테스트 컬렉션입니다.",
"likeCount" : 0,
"followerCount" : 0,
"commentCount" : 0,
"thumbnailUrl" : "https://foodymoody-test.s3.ap-northeast-2.amazonaws.com/foodymoody_logo.png",
"feedCount" : 5,
"storeMood" : [ {
"id" : "ee05a7386571b1078b98a18b",
"name" : "행복"
}, {
"id" : "ee05a7566571b1078b98a18c",
"name" : "행복"
}, {
"id" : "ee05a7676571b1078b98a18d",
"name" : "행복"
} ],
"createdAt" : "2024-12-22T10:59:28.334874",
"updatedAt" : "2024-12-22T10:59:28.365474",
"liked" : false
}, {
"id" : "ee05a7a46571b1078b98a191",
"author" : {
"id" : "ee05a61f6571b1078b98a167",
"name" : "아티",
"mood" : "베지테리언",
"profileImageUrl" : "https://foodymoody-test.s3.ap-northeast-2.amazonaws.com/foodymoody_logo.png"
},
"title" : "테스트 컬렉션",
"description" : "테스트 컬렉션입니다.",
"likeCount" : 0,
"followerCount" : 0,
"commentCount" : 0,
"thumbnailUrl" : "https://foodymoody-test.s3.ap-northeast-2.amazonaws.com/foodymoody_logo.png",
"feedCount" : 5,
"storeMood" : [ {
"id" : "ee05a7386571b1078b98a18b",
"name" : "행복"
}, {
"id" : "ee05a7566571b1078b98a18c",
"name" : "행복"
}, {
"id" : "ee05a7676571b1078b98a18d",
"name" : "행복"
} ],
"createdAt" : "2024-12-22T10:59:28.293024",
"updatedAt" : "2024-12-22T10:59:28.317483",
"liked" : false
}, {
"id" : "ee05a77b6571b1078b98a18e",
"author" : {
"id" : "ee05a61f6571b1078b98a167",
"name" : "아티",
"mood" : "베지테리언",
"profileImageUrl" : "https://foodymoody-test.s3.ap-northeast-2.amazonaws.com/foodymoody_logo.png"
},
"title" : "테스트 컬렉션",
"description" : "테스트 컬렉션입니다.",
"likeCount" : 0,
"followerCount" : 0,
"commentCount" : 0,
"thumbnailUrl" : "https://foodymoody-test.s3.ap-northeast-2.amazonaws.com/foodymoody_logo.png",
"feedCount" : 5,
"storeMood" : [ {
"id" : "ee05a7386571b1078b98a18b",
"name" : "행복"
}, {
"id" : "ee05a7566571b1078b98a18c",
"name" : "행복"
}, {
"id" : "ee05a7676571b1078b98a18d",
"name" : "행복"
} ],
"createdAt" : "2024-12-22T10:59:28.251729",
"updatedAt" : "2024-12-22T10:59:28.276287",
"liked" : false
} ],
"pageable" : {
"sort" : {
"sorted" : true,
"unsorted" : false,
"empty" : false
},
"pageNumber" : 0,
"pageSize" : 10,
"offset" : 0,
"paged" : true,
"unpaged" : false
},
"sort" : {
"sorted" : true,
"unsorted" : false,
"empty" : false
},
"first" : true,
"last" : true,
"number" : 0,
"numberOfElements" : 3,
"size" : 10,
"empty" : false
}
컬렉션 개별 조회 ❤️
HTTP request
GET /api/feed_collections/ee05a1bf6571b1078b98a102 HTTP/1.1
Host: localhost:36185
HTTP response
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Content-Type: application/json
Transfer-Encoding: chunked
Date: Sun, 22 Dec 2024 10:59:26 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 5824
{
"id" : "ee05a1bf6571b1078b98a102",
"author" : {
"id" : "ee05a0546571b1078b98a0db",
"name" : "아티",
"mood" : "베지테리언",
"profileImageUrl" : "https://foodymoody-test.s3.ap-northeast-2.amazonaws.com/foodymoody_logo.png"
},
"title" : "테스트 컬렉션",
"description" : "테스트 컬렉션입니다.",
"likeCount" : 0,
"followerCount" : 0,
"viewCount" : 0,
"feedCount" : 5,
"commentCount" : 3,
"thumbnailUrl" : "https://foodymoody-test.s3.ap-northeast-2.amazonaws.com/foodymoody_logo.png",
"feeds" : [ {
"id" : "ee05a0d76571b1078b98a0e3",
"thumbnailUrl" : "https://foodymoody-test.s3.ap-northeast-2.amazonaws.com/foodymoody_logo.png",
"content" : "맛있어요!",
"storeMood" : [ {
"id" : "1",
"name" : "가족과 함께"
}, {
"id" : "3",
"name" : "감성"
}, {
"id" : "4",
"name" : "데이트"
} ],
"store" : {
"id" : "1",
"name" : "영업중 식당"
},
"likeCount" : 0,
"commentCount" : 0,
"createdAt" : "2024-12-22T10:59:26.551929",
"updatedAt" : null,
"liked" : false
}, {
"id" : "ee05a0fd6571b1078b98a0e9",
"thumbnailUrl" : "https://foodymoody-test.s3.ap-northeast-2.amazonaws.com/foodymoody_logo.png",
"content" : "맛있어요!",
"storeMood" : [ {
"id" : "1",
"name" : "가족과 함께"
}, {
"id" : "3",
"name" : "감성"
}, {
"id" : "4",
"name" : "데이트"
} ],
"store" : {
"id" : "1",
"name" : "영업중 식당"
},
"likeCount" : 0,
"commentCount" : 0,
"createdAt" : "2024-12-22T10:59:26.589295",
"updatedAt" : null,
"liked" : false
}, {
"id" : "ee05a1206571b1078b98a0ef",
"thumbnailUrl" : "https://foodymoody-test.s3.ap-northeast-2.amazonaws.com/foodymoody_logo.png",
"content" : "맛있어요!",
"storeMood" : [ {
"id" : "1",
"name" : "가족과 함께"
}, {
"id" : "3",
"name" : "감성"
}, {
"id" : "4",
"name" : "데이트"
} ],
"store" : {
"id" : "1",
"name" : "영업중 식당"
},
"likeCount" : 0,
"commentCount" : 0,
"createdAt" : "2024-12-22T10:59:26.624549",
"updatedAt" : null,
"liked" : false
}, {
"id" : "ee05a1436571b1078b98a0f5",
"thumbnailUrl" : "https://foodymoody-test.s3.ap-northeast-2.amazonaws.com/foodymoody_logo.png",
"content" : "맛있어요!",
"storeMood" : [ {
"id" : "1",
"name" : "가족과 함께"
}, {
"id" : "3",
"name" : "감성"
}, {
"id" : "4",
"name" : "데이트"
} ],
"store" : {
"id" : "1",
"name" : "영업중 식당"
},
"likeCount" : 0,
"commentCount" : 0,
"createdAt" : "2024-12-22T10:59:26.659",
"updatedAt" : null,
"liked" : false
}, {
"id" : "ee05a1676571b1078b98a0fb",
"thumbnailUrl" : "https://foodymoody-test.s3.ap-northeast-2.amazonaws.com/foodymoody_logo.png",
"content" : "맛있어요!",
"storeMood" : [ {
"id" : "1",
"name" : "가족과 함께"
}, {
"id" : "3",
"name" : "감성"
}, {
"id" : "4",
"name" : "데이트"
} ],
"store" : {
"id" : "1",
"name" : "영업중 식당"
},
"likeCount" : 0,
"commentCount" : 0,
"createdAt" : "2024-12-22T10:59:26.695203",
"updatedAt" : null,
"liked" : false
} ],
"comments" : {
"content" : [ {
"id" : "ee05a1ed6571b1078b98a105",
"feedCollectionId" : "ee05a1bf6571b1078b98a102",
"content" : "댓글 내용",
"deleted" : false,
"hasReply" : false,
"createdAt" : "2024-12-22T10:59:26.82953",
"updatedAt" : "2024-12-22T10:59:26.82953",
"liked" : false,
"likeCount" : 0,
"author" : {
"id" : "ee05a0816571b1078b98a0dd",
"name" : "푸반",
"mood" : "베지테리언",
"profileImageUrl" : null
}
}, {
"id" : "ee05a2006571b1078b98a108",
"feedCollectionId" : "ee05a1bf6571b1078b98a102",
"content" : "댓글 내용",
"deleted" : false,
"hasReply" : false,
"createdAt" : "2024-12-22T10:59:26.848588",
"updatedAt" : "2024-12-22T10:59:26.848588",
"liked" : false,
"likeCount" : 0,
"author" : {
"id" : "ee05a0816571b1078b98a0dd",
"name" : "푸반",
"mood" : "베지테리언",
"profileImageUrl" : null
}
}, {
"id" : "ee05a2166571b1078b98a10b",
"feedCollectionId" : "ee05a1bf6571b1078b98a102",
"content" : "댓글 내용",
"deleted" : false,
"hasReply" : true,
"createdAt" : "2024-12-22T10:59:26.870044",
"updatedAt" : "2024-12-22T10:59:26.870044",
"liked" : true,
"likeCount" : 1,
"author" : {
"id" : "ee05a0816571b1078b98a0dd",
"name" : "푸반",
"mood" : "베지테리언",
"profileImageUrl" : null
}
} ],
"pageable" : {
"sort" : {
"sorted" : false,
"unsorted" : true,
"empty" : true
},
"pageNumber" : 0,
"pageSize" : 10,
"offset" : 0,
"paged" : true,
"unpaged" : false
},
"sort" : {
"sorted" : false,
"unsorted" : true,
"empty" : true
},
"first" : true,
"last" : true,
"number" : 0,
"numberOfElements" : 3,
"size" : 10,
"empty" : false
},
"moods" : [ {
"id" : "ee05a1826571b1078b98a0ff",
"name" : "행복"
}, {
"id" : "ee05a1966571b1078b98a100",
"name" : "행복"
}, {
"id" : "ee05a1a96571b1078b98a101",
"name" : "행복"
} ],
"createdAt" : "2024-12-22T10:59:26.784017",
"updatedAt" : "2024-12-22T10:59:26.81265",
"liked" : false,
"followed" : false,
"private" : false
}
컬렉션 커멘트 조회 ❤️
HTTP request
GET /api/feed_collections/ee05aaac6571b1078b98a1c1/comments?page=1&size=10 HTTP/1.1
Host: localhost:36185
HTTP response
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Content-Type: application/json
Transfer-Encoding: chunked
Date: Sun, 22 Dec 2024 10:59:29 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 5142
{
"content" : [ {
"id" : "ee05ac7a6571b1078b98a1fd",
"feedCollectionId" : "ee05aaac6571b1078b98a1c1",
"content" : "댓글 내용",
"deleted" : false,
"hasReply" : false,
"createdAt" : "2024-12-22T10:59:29.530313",
"updatedAt" : "2024-12-22T10:59:29.530313",
"liked" : false,
"likeCount" : 0,
"author" : {
"id" : "ee05a97d6571b1078b98a19c",
"name" : "푸반",
"mood" : "베지테리언",
"profileImageUrl" : null
}
}, {
"id" : "ee05ac636571b1078b98a1fa",
"feedCollectionId" : "ee05aaac6571b1078b98a1c1",
"content" : "댓글 내용",
"deleted" : false,
"hasReply" : false,
"createdAt" : "2024-12-22T10:59:29.508034",
"updatedAt" : "2024-12-22T10:59:29.508034",
"liked" : false,
"likeCount" : 0,
"author" : {
"id" : "ee05a97d6571b1078b98a19c",
"name" : "푸반",
"mood" : "베지테리언",
"profileImageUrl" : null
}
}, {
"id" : "ee05ac4e6571b1078b98a1f7",
"feedCollectionId" : "ee05aaac6571b1078b98a1c1",
"content" : "댓글 내용",
"deleted" : false,
"hasReply" : false,
"createdAt" : "2024-12-22T10:59:29.486187",
"updatedAt" : "2024-12-22T10:59:29.486187",
"liked" : false,
"likeCount" : 0,
"author" : {
"id" : "ee05a97d6571b1078b98a19c",
"name" : "푸반",
"mood" : "베지테리언",
"profileImageUrl" : null
}
}, {
"id" : "ee05ac396571b1078b98a1f4",
"feedCollectionId" : "ee05aaac6571b1078b98a1c1",
"content" : "댓글 내용",
"deleted" : false,
"hasReply" : false,
"createdAt" : "2024-12-22T10:59:29.4656",
"updatedAt" : "2024-12-22T10:59:29.4656",
"liked" : false,
"likeCount" : 0,
"author" : {
"id" : "ee05a97d6571b1078b98a19c",
"name" : "푸반",
"mood" : "베지테리언",
"profileImageUrl" : null
}
}, {
"id" : "ee05ac226571b1078b98a1f1",
"feedCollectionId" : "ee05aaac6571b1078b98a1c1",
"content" : "댓글 내용",
"deleted" : false,
"hasReply" : false,
"createdAt" : "2024-12-22T10:59:29.442274",
"updatedAt" : "2024-12-22T10:59:29.442274",
"liked" : false,
"likeCount" : 0,
"author" : {
"id" : "ee05a97d6571b1078b98a19c",
"name" : "푸반",
"mood" : "베지테리언",
"profileImageUrl" : null
}
}, {
"id" : "ee05ac0a6571b1078b98a1ee",
"feedCollectionId" : "ee05aaac6571b1078b98a1c1",
"content" : "댓글 내용",
"deleted" : false,
"hasReply" : false,
"createdAt" : "2024-12-22T10:59:29.418219",
"updatedAt" : "2024-12-22T10:59:29.418219",
"liked" : false,
"likeCount" : 0,
"author" : {
"id" : "ee05a97d6571b1078b98a19c",
"name" : "푸반",
"mood" : "베지테리언",
"profileImageUrl" : null
}
}, {
"id" : "ee05abf86571b1078b98a1eb",
"feedCollectionId" : "ee05aaac6571b1078b98a1c1",
"content" : "댓글 내용",
"deleted" : false,
"hasReply" : false,
"createdAt" : "2024-12-22T10:59:29.400282",
"updatedAt" : "2024-12-22T10:59:29.400282",
"liked" : false,
"likeCount" : 0,
"author" : {
"id" : "ee05a97d6571b1078b98a19c",
"name" : "푸반",
"mood" : "베지테리언",
"profileImageUrl" : null
}
}, {
"id" : "ee05abe36571b1078b98a1e8",
"feedCollectionId" : "ee05aaac6571b1078b98a1c1",
"content" : "댓글 내용",
"deleted" : false,
"hasReply" : false,
"createdAt" : "2024-12-22T10:59:29.380019",
"updatedAt" : "2024-12-22T10:59:29.380019",
"liked" : false,
"likeCount" : 0,
"author" : {
"id" : "ee05a97d6571b1078b98a19c",
"name" : "푸반",
"mood" : "베지테리언",
"profileImageUrl" : null
}
}, {
"id" : "ee05abce6571b1078b98a1e5",
"feedCollectionId" : "ee05aaac6571b1078b98a1c1",
"content" : "댓글 내용",
"deleted" : false,
"hasReply" : false,
"createdAt" : "2024-12-22T10:59:29.358265",
"updatedAt" : "2024-12-22T10:59:29.358265",
"liked" : false,
"likeCount" : 0,
"author" : {
"id" : "ee05a97d6571b1078b98a19c",
"name" : "푸반",
"mood" : "베지테리언",
"profileImageUrl" : null
}
}, {
"id" : "ee05abb56571b1078b98a1e2",
"feedCollectionId" : "ee05aaac6571b1078b98a1c1",
"content" : "댓글 내용",
"deleted" : false,
"hasReply" : false,
"createdAt" : "2024-12-22T10:59:29.333968",
"updatedAt" : "2024-12-22T10:59:29.333968",
"liked" : false,
"likeCount" : 0,
"author" : {
"id" : "ee05a97d6571b1078b98a19c",
"name" : "푸반",
"mood" : "베지테리언",
"profileImageUrl" : null
}
} ],
"pageable" : {
"sort" : {
"sorted" : true,
"unsorted" : false,
"empty" : false
},
"pageNumber" : 1,
"pageSize" : 10,
"offset" : 10,
"paged" : true,
"unpaged" : false
},
"sort" : {
"sorted" : true,
"unsorted" : false,
"empty" : false
},
"first" : false,
"last" : false,
"number" : 1,
"numberOfElements" : 10,
"size" : 10,
"empty" : false
}
컬렉션 피드 리스트 조회 ❤️
HTTP request
GET /api/feed_collections/ee058ede6571b1078b989f7c/feeds HTTP/1.1
Content-Type: application/json
Host: localhost:36185
Content-Length: 160
{
"feedIds" : [ "ee058e516571b1078b989f75", "ee058e286571b1078b989f6f", "ee058dfe6571b1078b989f69", "ee058dd16571b1078b989f63", "ee058da36571b1078b989f5d" ]
}
HTTP response
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Content-Type: application/json
Transfer-Encoding: chunked
Date: Sun, 22 Dec 2024 10:59:21 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 2451
{
"content" : [ {
"feedAllCount" : 20,
"feedThumbnailUrl" : "https://s3Url/key",
"storeName" : "영업중 식당",
"feedId" : "ee058e516571b1078b989f75",
"createdAt" : "2024-12-22T10:59:21.809214",
"updatedAt" : null,
"description" : "맛있어요!",
"moodNames" : [ "가족과 함께", "감성", "데이트" ],
"isLiked" : false,
"likeCount" : 0,
"feedCommentCount" : 0
}, {
"feedAllCount" : 20,
"feedThumbnailUrl" : "https://s3Url/key",
"storeName" : "영업중 식당",
"feedId" : "ee058e286571b1078b989f6f",
"createdAt" : "2024-12-22T10:59:21.76863",
"updatedAt" : null,
"description" : "맛있어요!",
"moodNames" : [ "가족과 함께", "감성", "데이트" ],
"isLiked" : false,
"likeCount" : 0,
"feedCommentCount" : 0
}, {
"feedAllCount" : 20,
"feedThumbnailUrl" : "https://s3Url/key",
"storeName" : "영업중 식당",
"feedId" : "ee058dfe6571b1078b989f69",
"createdAt" : "2024-12-22T10:59:21.726089",
"updatedAt" : null,
"description" : "맛있어요!",
"moodNames" : [ "가족과 함께", "감성", "데이트" ],
"isLiked" : false,
"likeCount" : 0,
"feedCommentCount" : 0
}, {
"feedAllCount" : 20,
"feedThumbnailUrl" : "https://s3Url/key",
"storeName" : "영업중 식당",
"feedId" : "ee058dd16571b1078b989f63",
"createdAt" : "2024-12-22T10:59:21.681892",
"updatedAt" : null,
"description" : "맛있어요!",
"moodNames" : [ "가족과 함께", "감성", "데이트" ],
"isLiked" : false,
"likeCount" : 0,
"feedCommentCount" : 0
}, {
"feedAllCount" : 20,
"feedThumbnailUrl" : "https://s3Url/key",
"storeName" : "영업중 식당",
"feedId" : "ee058da36571b1078b989f5d",
"createdAt" : "2024-12-22T10:59:21.635438",
"updatedAt" : null,
"description" : "맛있어요!",
"moodNames" : [ "가족과 함께", "감성", "데이트" ],
"isLiked" : false,
"likeCount" : 0,
"feedCommentCount" : 0
} ],
"pageable" : {
"sort" : {
"sorted" : true,
"unsorted" : false,
"empty" : false
},
"pageNumber" : 0,
"pageSize" : 20,
"offset" : 0,
"paged" : true,
"unpaged" : false
},
"sort" : {
"sorted" : true,
"unsorted" : false,
"empty" : false
},
"first" : true,
"last" : true,
"number" : 0,
"numberOfElements" : 5,
"size" : 20,
"empty" : false
}
컬렉션 무드 추가 🔐
HTTP request
POST /api/feed_collections/ee05ba856571b1078b98a2dc/moods HTTP/1.1
Content-Type: application/json
Host: localhost:36185
Content-Length: 43
{
"moodId" : "ee05ba9e6571b1078b98a2df"
}
HTTP response
HTTP/1.1 204 No Content
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Date: Sun, 22 Dec 2024 10:59:32 GMT
Keep-Alive: timeout=60
Connection: keep-alive
컬렉션 무드 삭제 🔐
HTTP request
DELETE /api/feed_collections/ee05b9a76571b1078b98a2d4/moods/ee05b9c46571b1078b98a2d7 HTTP/1.1
Host: localhost:36185
HTTP response
HTTP/1.1 204 No Content
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Date: Sun, 22 Dec 2024 10:59:32 GMT
Keep-Alive: timeout=60
Connection: keep-alive
컬렉션 댓글
컬렉션 댓글 등록 🔐
HTTP request
POST /api/feed_collections/ee05af1d6571b1078b98a22a/comments HTTP/1.1
Content-Type: application/json
Host: localhost:36185
Content-Length: 33
{
"content" : "댓글 내용"
}
HTTP response
HTTP/1.1 201 Created
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Content-Type: application/json
Transfer-Encoding: chunked
Date: Sun, 22 Dec 2024 10:59:29 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 39
{
"id" : "ee05af316571b1078b98a22d"
}
컬렉션 댓글 삭제 🔐
HTTP request
DELETE /api/feed_collections/ee05b3246571b1078b98a266/comments/ee05b33a6571b1078b98a269 HTTP/1.1
Host: localhost:36185
HTTP response
HTTP/1.1 204 No Content
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Date: Sun, 22 Dec 2024 10:59:30 GMT
Keep-Alive: timeout=60
Connection: keep-alive
컬렉션 댓글 수정 🔐
HTTP request
PUT /api/feed_collections/ee05b1c66571b1078b98a254/comments/ee05b1e26571b1078b98a257 HTTP/1.1
Content-Type: application/json
Host: localhost:36185
Content-Length: 43
{
"content" : "수정된 댓글 내용"
}
HTTP response
HTTP/1.1 204 No Content
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Date: Sun, 22 Dec 2024 10:59:30 GMT
Keep-Alive: timeout=60
Connection: keep-alive
컬렉션 대댓글
컬렉션 대댓글 등록 🔐
HTTP request
POST /api/feed_collections/ee05bf6f6571b1078b98a32e/comments/ee05bf866571b1078b98a331/replies HTTP/1.1
Content-Type: application/json
Host: localhost:36185
Content-Length: 39
{
"content" : "대댓글입니다."
}
HTTP response
HTTP/1.1 201 Created
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Content-Type: application/json
Transfer-Encoding: chunked
Date: Sun, 22 Dec 2024 10:59:33 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 39
{
"id" : "ee05bfa36571b1078b98a334"
}
컬렉션 대댓글 삭제 🔐
HTTP request
DELETE /api/feed_collections/ee05bced6571b1078b98a2fc/comments/ee05bd066571b1078b98a2ff/replies/ee05bd266571b1078b98a302 HTTP/1.1
Host: localhost:36185
HTTP response
HTTP/1.1 204 No Content
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Date: Sun, 22 Dec 2024 10:59:33 GMT
Keep-Alive: timeout=60
Connection: keep-alive
컬렉션 대댓글 수정 🔐
HTTP request
PUT /api/feed_collections/ee05c06e6571b1078b98a343/comments/ee05c0876571b1078b98a346/replies/ee05c0ab6571b1078b98a349 HTTP/1.1
Content-Type: application/json
Host: localhost:36185
Content-Length: 49
{
"content" : "수정된 대댓글입니다."
}
HTTP response
HTTP/1.1 204 No Content
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Date: Sun, 22 Dec 2024 10:59:34 GMT
Keep-Alive: timeout=60
Connection: keep-alive
컬렉션 대댓글 조회 ❤️
HTTP request
GET /api/feed_collections/ee05be0d6571b1078b98a311/comments/ee05be236571b1078b98a314/replies HTTP/1.1
Host: localhost:36185
HTTP response
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Content-Type: application/json
Transfer-Encoding: chunked
Date: Sun, 22 Dec 2024 10:59:33 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 1473
{
"content" : [ {
"id" : "ee05be686571b1078b98a31d",
"content" : "대댓글입니다.",
"createdAt" : "2024-12-22T10:59:34.120691",
"updatedAt" : "2024-12-22T10:59:34.120691",
"member" : {
"memberId" : "ee05bd786571b1078b98a305",
"nickname" : "아티",
"profileUrl" : null
},
"likeCount" : 1,
"liked" : true
}, {
"id" : "ee05be506571b1078b98a31a",
"content" : "대댓글입니다.",
"createdAt" : "2024-12-22T10:59:34.096722",
"updatedAt" : "2024-12-22T10:59:34.096722",
"member" : {
"memberId" : "ee05bd786571b1078b98a305",
"nickname" : "아티",
"profileUrl" : null
},
"likeCount" : 0,
"liked" : false
}, {
"id" : "ee05be3f6571b1078b98a317",
"content" : "대댓글입니다.",
"createdAt" : "2024-12-22T10:59:34.07972",
"updatedAt" : "2024-12-22T10:59:34.07972",
"member" : {
"memberId" : "ee05bd786571b1078b98a305",
"nickname" : "아티",
"profileUrl" : null
},
"likeCount" : 0,
"liked" : false
} ],
"pageable" : {
"sort" : {
"sorted" : true,
"unsorted" : false,
"empty" : false
},
"pageNumber" : 0,
"pageSize" : 10,
"offset" : 0,
"paged" : true,
"unpaged" : false
},
"sort" : {
"sorted" : true,
"unsorted" : false,
"empty" : false
},
"first" : true,
"last" : true,
"number" : 0,
"numberOfElements" : 3,
"size" : 10,
"empty" : false
}
컬렉션 댓글 좋아요
컬렉션 댓글 좋아요 등록 🔐
HTTP request
POST /api/feed_collections/ee05b5d36571b1078b98a292/comments/ee05b5ea6571b1078b98a295/likes HTTP/1.1
Content-Type: application/x-www-form-urlencoded; charset=ISO-8859-1
Host: localhost:36185
HTTP response
HTTP/1.1 201 Created
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Content-Type: application/json
Transfer-Encoding: chunked
Date: Sun, 22 Dec 2024 10:59:31 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 39
{
"id" : "ee05b60b6571b1078b98a298"
}
컬렉션 댓글 좋아요 취소 🔐
HTTP request
DELETE /api/feed_collections/ee05b6cb6571b1078b98a2a6/comments/ee05b6df6571b1078b98a2a9/likes HTTP/1.1
Host: localhost:36185
HTTP response
HTTP/1.1 204 No Content
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Date: Sun, 22 Dec 2024 10:59:31 GMT
Keep-Alive: timeout=60
Connection: keep-alive
컬렉션 대댓글 좋아요
컬렉션 대댓글 좋아요 등록 🔐
HTTP request
POST /api/feed_collections/ee05c2d96571b1078b98a36f/comments/ee05c2ec6571b1078b98a372/replies/ee05c3076571b1078b98a375/likes HTTP/1.1
Content-Type: application/x-www-form-urlencoded; charset=ISO-8859-1
Host: localhost:36185
HTTP response
HTTP/1.1 201 Created
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Content-Type: application/json
Transfer-Encoding: chunked
Date: Sun, 22 Dec 2024 10:59:34 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 39
{
"id" : "ee05c3266571b1078b98a378"
}
컬렉션 대댓글 좋아요 취소 🔐
HTTP request
DELETE /api/feed_collections/ee05c19a6571b1078b98a358/comments/ee05c1b06571b1078b98a35b/replies/ee05c1c96571b1078b98a35e/likes HTTP/1.1
Host: localhost:36185
HTTP response
HTTP/1.1 204 No Content
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Date: Sun, 22 Dec 2024 10:59:34 GMT
Keep-Alive: timeout=60
Connection: keep-alive
컬렉션 좋아요
컬렉션 좋아요 등록 🔐
HTTP request
POST /api/feed_collections/ee05b8fb6571b1078b98a2cb/likes HTTP/1.1
Content-Type: application/x-www-form-urlencoded; charset=ISO-8859-1
Host: localhost:36185
HTTP response
HTTP/1.1 201 Created
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Content-Type: application/json
Transfer-Encoding: chunked
Date: Sun, 22 Dec 2024 10:59:32 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 39
{
"id" : "ee05b9146571b1078b98a2ce"
}
컬렉션 좋아요 취소 🔐
HTTP request
DELETE /api/feed_collections/ee05b7dc6571b1078b98a2ba/likes HTTP/1.1
Host: localhost:36185
HTTP response
HTTP/1.1 204 No Content
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Date: Sun, 22 Dec 2024 10:59:32 GMT
Keep-Alive: timeout=60
Connection: keep-alive
컬렉션 무드
컬렉션 무드 등록 🔐
HTTP request
POST /api/feed_collections/moods HTTP/1.1
Content-Type: application/json
Host: localhost:36185
Content-Length: 23
{
"name" : "행복"
}
HTTP response
HTTP/1.1 201 Created
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Content-Type: application/json
Transfer-Encoding: chunked
Date: Sun, 22 Dec 2024 10:59:33 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 39
{
"id" : "ee05bc146571b1078b98a2ef"
}
컬렉션 무드 조회
HTTP request
GET /api/feed_collections/moods?page=0&size=10 HTTP/1.1
Host: localhost:36185
HTTP response
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Content-Type: application/json
Transfer-Encoding: chunked
Date: Sun, 22 Dec 2024 10:59:32 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 436
[ {
"id" : "ee05bb276571b1078b98a2e4",
"name" : "행복"
}, {
"id" : "ee05bb336571b1078b98a2e5",
"name" : "행복"
}, {
"id" : "ee05bb3f6571b1078b98a2e6",
"name" : "행복"
}, {
"id" : "ee05bb4c6571b1078b98a2e7",
"name" : "행복"
}, {
"id" : "ee05bb596571b1078b98a2e8",
"name" : "행복"
}, {
"id" : "ee05bb646571b1078b98a2e9",
"name" : "행복"
}, {
"id" : "ee05bb6e6571b1078b98a2ea",
"name" : "행복"
} ]
가게
가게 상세정보 조회 ❤️
성공
HTTP request
GET /api/stores/2 HTTP/1.1
Content-Type: application/json
Host: localhost:36185
HTTP response
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Content-Type: application/json
Transfer-Encoding: chunked
Date: Sun, 22 Dec 2024 10:59:56 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 251
{
"name" : "폐업한 식당",
"rating" : 0.0,
"liked" : false,
"likeCount" : 0,
"feedCount" : 0,
"address" : "지번주소2",
"roadAddress" : "도로명주소2",
"phone" : "전화번호2",
"x" : 1.0,
"y" : 1.0,
"closed" : true
}
가게 검색
성공
HTTP request
GET /api/stores/search?query=%EC%86%A1%ED%8C%8C%EA%B5%AC HTTP/1.1
Content-Type: application/json
Host: localhost:36185
HTTP response
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Content-Type: application/json
Transfer-Encoding: chunked
Date: Sun, 22 Dec 2024 10:59:56 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 1844
[ {
"id" : "10",
"name" : "식당4",
"address" : "지번주소2",
"roadAddress" : "도로명주소, (송파구)"
}, {
"id" : "11",
"name" : "식당5",
"address" : "지번주소2",
"roadAddress" : "도로명주소, (송파구)"
}, {
"id" : "12",
"name" : "식당6",
"address" : "지번주소2",
"roadAddress" : "도로명주소, (송파구)"
}, {
"id" : "13",
"name" : "식당7",
"address" : "지번주소2",
"roadAddress" : "도로명주소, (송파구)"
}, {
"id" : "14",
"name" : "식당8",
"address" : "지번주소2",
"roadAddress" : "도로명주소, (송파구)"
}, {
"id" : "15",
"name" : "식당9",
"address" : "지번주소2",
"roadAddress" : "도로명주소, (송파구)"
}, {
"id" : "16",
"name" : "식당10",
"address" : "지번주소2",
"roadAddress" : "도로명주소, (송파구)"
}, {
"id" : "17",
"name" : "식당11",
"address" : "지번주소2",
"roadAddress" : "도로명주소, (송파구)"
}, {
"id" : "18",
"name" : "식당12",
"address" : "지번주소2",
"roadAddress" : "도로명주소, (송파구)"
}, {
"id" : "3",
"name" : "송파구",
"address" : "지번주소2",
"roadAddress" : "도로명주소2"
}, {
"id" : "4",
"name" : "송파구식당",
"address" : "지번주소2",
"roadAddress" : "도로명주소2"
}, {
"id" : "5",
"name" : "식당송파구",
"address" : "지번주소2",
"roadAddress" : "도로명주소2"
}, {
"id" : "6",
"name" : "식당 송파구 식당",
"address" : "지번주소2",
"roadAddress" : "도로명주소2"
}, {
"id" : "7",
"name" : "식당송파구식당",
"address" : "지번주소2",
"roadAddress" : "도로명주소2"
}, {
"id" : "8",
"name" : "송파구송파구",
"address" : "지번주소2",
"roadAddress" : "서울특별시 송파구 어딘가12로 1-1"
} ]
가게 좋아요 등록 🔐
성공
HTTP request
POST /api/stores/1/likes HTTP/1.1
Content-Type: application/json
Host: localhost:36185
HTTP response
HTTP/1.1 201 Created
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Date: Sun, 22 Dec 2024 10:59:57 GMT
Keep-Alive: timeout=60
Connection: keep-alive
가게 좋아요 취소 🔐
성공
HTTP request
DELETE /api/stores/1/likes HTTP/1.1
Content-Type: application/json
Host: localhost:36185
HTTP response
HTTP/1.1 204 No Content
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Date: Sun, 22 Dec 2024 10:59:57 GMT
Keep-Alive: timeout=60
Connection: keep-alive
성공
HTTP request
GET /api/stores/2/feeds HTTP/1.1
Content-Type: application/json
Host: localhost:36185
HTTP response
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Headers: *
Access-Control-Max-Age: 86400
Content-Type: application/json
Transfer-Encoding: chunked
Date: Sun, 22 Dec 2024 10:59:55 GMT
Keep-Alive: timeout=60
Connection: keep-alive
Content-Length: 703
{
"content" : [ {
"feedId" : "ee06163d6571b1078b98a9b9",
"thumbnailUrl" : "https://s3Url/key"
}, {
"feedId" : "ee06160f6571b1078b98a9b1",
"thumbnailUrl" : "https://s3Url/key"
}, {
"feedId" : "ee0615e76571b1078b98a9a9",
"thumbnailUrl" : "https://s3Url/key"
} ],
"pageable" : {
"sort" : {
"sorted" : false,
"unsorted" : true,
"empty" : true
},
"pageNumber" : 0,
"pageSize" : 10,
"offset" : 0,
"paged" : true,
"unpaged" : false
},
"sort" : {
"sorted" : false,
"unsorted" : true,
"empty" : true
},
"first" : true,
"last" : true,
"number" : 0,
"numberOfElements" : 3,
"size" : 10,
"empty" : false
}