리스트 목록 진입할 때 나를 차단한 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
복사