😀

모임 목록(list) read

URL
/gatherings
모임
method
GET
리스트 목록 진입할 때 나를 차단한 or 내가 차단한 글은 안보이게 했는데.. 서버 반영 된 상태 잘 되려나..?
만든 시간 추가하기
{ "content": [ { "id": 10, "title": "열 번째 모임", "content": "열 번째 모임 설명", "maxMember": 20, "currentMember": 9, "eupMyeonDong": "내외동", "gatheringDateTime": "2024-11-05T01:43:48Z", "views": 7, "latitude": 35.1798, "longitude": 128.1076, "author": { "token": "token5", "nickname": "user5nick", "profileImage": "https://example.com/user5.png", "univName": "University 5" }, "thumbnail": "https://union-image-bucket.s3.ap-northeast-2.amazonaws.com/userToken/44009c26-13fc-4912-a3db-7cac644e39c5.png" }, { "id": 9, "title": "아홉 번째 모임", "maxMember": 6, "currentMember": 2, "eupMyeonDong": "분당동", "gatheringDateTime": "2024-11-05T00:43:48Z", "views": 1, "latitude": 37.2751, "longitude": 127.0097, "author": { "token": "token4", "nickname": "user4nick", "profileImage": "https://example.com/user4.png", "univName": "University 4" }, "thumbnail": "https://union-image-bucket.s3.ap-northeast-2.amazonaws.com/userToken/44009c26-13fc-4912-a3db-7cac644e39c5.png" }, { "id": 8, "title": "여덟 번째 모임", "maxMember": 10, "currentMember": 7, "eupMyeonDong": "을왕동", "gatheringDateTime": "2024-11-04T23:43:48Z", "views": 0, "latitude": 37.4563, "longitude": 126.7052, "author": { "token": "token3", "nickname": "user3nick", "profileImage": "https://example.com/user3.png", "univName": "University 3" }, "thumbnail": null }, . . . ], "pageable": { "pageNumber": 0, "pageSize": 20, "sort": { "empty": true, "sorted": false, "unsorted": true }, "offset": 0, "paged": true, "unpaged": false }, "first": true, "last": true, "size": 20, "number": 0, "sort": { "empty": true, "sorted": false, "unsorted": true }, "numberOfElements": 10, "empty": false }
SQL
복사
썸네일 추가하기 → 추가 완료 (thumbnail) → null 또는 주소 ul
위도, 경도, 작성자 닉네임 추가 —> 추가 완료

요청

Query Parameters
Name
Type
Required
Description
기본값
sortTyep
string
No
정렬(필터링) 타입 LATEST : 모임 작성글 최신순 DISTANCE : 내 위치 기반 (위도, 경도) GATHERING_DATE : 현재 시간 이후 모임 날짜와 가까운
LATEST : 최신순
latitude
int
No
위도
37.556016
longitude
int
No
경도
126.972355
page
int
No
페이징에서 현재 페이지 (무한 스크롤이야기 해봐야 될 듯)
0
size
int
No
몇 개의 게시글을 보여줄 것인지
3
keyword
string
No
검색어

Example Request (모두 GET으로 요청해야 됨)

모임 데이터가 1개도 없을 때

// 요청 /gathering // 응답 { "content": [], // 모임의 글이 아무것도 없다면 content 부분이 빈다. "pageable": { "pageNumber": 0, "pageSize": 3, "sort": { "empty": true, "sorted": false, "unsorted": true }, "offset": 0, "paged": true, "unpaged": false }, "first": true, "last": true, "size": 3, "number": 0, "sort": { "empty": true, "sorted": false, "unsorted": true }, "numberOfElements": 0, "empty": true }
JSON
복사

최신순 - 요청과 응답

/gathering?sortType=LATEST&latitude=37.556016&longitude=126.972355&page=0&size=3 // 모두 기본 값이라 /gathering 이렇게 요청한 것과 똑같이 동작함 { "content": [ { "id": 12, "title": "모임 제목 111111111111111111", "maxMember": 10, "currentMember": 1, "eupMyeonDong": null, // 장소가 null인 상황 대응하려고 테스트 한 데이터 (최신순으로 잘 불러와짐) "gatheringDateTime": "2024-10-29T17:00:00Z", "views": 0 }, { "id": 11, "title": "모임 제목 111111111111111111", "maxMember": 10, "currentMember": 1, "eupMyeonDong": null, "gatheringDateTime": "2024-10-29T17:00:00Z", "views": 0 }, { "id": 10, "title": "열 번째 모임", "maxMember": 20, "currentMember": 9, "eupMyeonDong": "내외동", "gatheringDateTime": "2024-10-30T02:08:34Z", "views": 7 } ], "pageable": { "pageNumber": 0, "pageSize": 3, "sort": { "empty": true, "unsorted": true, "sorted": false }, "offset": 0, "unpaged": false, "paged": true }, "first": true, "last": false, "size": 3, "number": 0, "sort": { "empty": true, "unsorted": true, "sorted": false }, "numberOfElements": 3, "empty": false }
JSON
복사

현재 위치에서 가까운 모임

/gathering?sortType=DISTANCE&latitude=35.115229&longitude=129.039702&page=0&size=5 // 부산역 위도 경도로 요청, 장소가 null 이면 제일 마지막 페이지에 존재 // 응답 { "content": [ { "id": 4, "title": "네 번째 모임", "maxMember": 15, "currentMember": 3, "eupMyeonDong": "해운대동", // 해운대동이 먼저 잘 나옴 "gatheringDateTime": "2024-10-29T20:40:52Z", "views": 5 }, { "id": 6, "title": "여섯 번째 모임", "maxMember": 12, "currentMember": 6, "eupMyeonDong": "삼산동", "gatheringDateTime": "2024-10-29T22:40:52Z", "views": 15 }, { "id": 10, "title": "열 번째 모임", "maxMember": 20, "currentMember": 9, "eupMyeonDong": "내외동", "gatheringDateTime": "2024-10-30T02:40:52Z", "views": 7 }, { "id": 3, "title": "세 번째 모임", "maxMember": 20, "currentMember": 8, "eupMyeonDong": "수성동", "gatheringDateTime": "2024-10-29T19:40:52Z", "views": 1 }, { "id": 5, "title": "다섯 번째 모임", "maxMember": 4, "currentMember": 1, "eupMyeonDong": "용봉동", "gatheringDateTime": "2024-10-29T21:40:52Z", "views": 2 } ], "pageable": { "pageNumber": 0, "pageSize": 5, "sort": { "empty": true, "unsorted": true, "sorted": false }, "offset": 0, "unpaged": false, "paged": true }, "first": true, "last": false, "size": 5, "number": 0, "sort": { "empty": true, "unsorted": true, "sorted": false }, "numberOfElements": 5, "empty": false }
JSON
복사

현재 시간에서 가장 가까운 모임 날짜

/gathering?sortType=GATHERING_DATE&latitude=35.115229&longitude=129.039702&page=0&size=3 { "content": [ { "id": 12, "title": "모임 제목 111111111111111111", "maxMember": 10, "currentMember": 1, "eupMyeonDong": null, "gatheringDateTime": "2024-10-29T17:00:00Z", "views": 0 }, { "id": 11, "title": "모임 제목 111111111111111111", "maxMember": 10, "currentMember": 1, "eupMyeonDong": null, "gatheringDateTime": "2024-10-29T17:00:00Z", "views": 0 }, { "id": 1, "title": "첫 번째 모임", "maxMember": 10, "currentMember": 5, "eupMyeonDong": "명동", "gatheringDateTime": "2024-10-29T17:08:34Z", "views": 10 } ], "pageable": { "pageNumber": 0, "pageSize": 3, "sort": { "empty": true, "unsorted": true, "sorted": false }, "offset": 0, "unpaged": false, "paged": true }, "first": true, "last": false, "size": 3, "number": 0, "sort": { "empty": true, "unsorted": true, "sorted": false }, "numberOfElements": 3, "empty": false }
Java
복사