HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
♥️
2기 최종 프로젝트 팀별 공간
/
🌳
[팀 05] Forest
/
🪐
BE WorkSpace
/
🗯️
API 명세
/
✅
/api/v1/ridingposts
✅

/api/v1/ridingposts

HTTP 메서드
GET
contents-type
application-json
비고
라이딩 모집 글 리스트 불러오기
연관된 페이지
1. 메인 페이지
2. 라이딩 리스트 페이지
6. 프로필페이지
?. 다른 회원 정보 조회 페이지
속성
⏳ 유저 스토리

[ Description ]

  • 라이딩 모집 글 불러오기
필터링 조건 1. 라이딩 지역 2. 라이딩 레벨 3. 참여가능한 자전거 종류 4. 라이징 모집 상태(default = 모집중만) 정렬 조건 1. 게시된 날짜(default) 2. 정렬 조건이 더 있을지?

[응답 예시]

{ "content" : [ { "leader" : { "id" : 2, "nickname" : "testUser", "profileImage" : "https://programmers.co.kr/assets/icons/apple-icon-6eafc2c4c58a21aef692d6e44ce99d41f999c71789f277317532d0a9c6db8976.png" }, "riding" : { "title" : "testTitle", "thumbnail" : "https://team-05-storage.s3.ap-northeast-2.amazonaws.com/static/RG_Logo.png", "ridingLevel" : "중", "zone" : { "code" : 11010, "name" : "서울특별시 종로구" }, "fee" : 0, "estimatedTime" : "120", "createdAt" : "2022-08-12T04:45:21", "ridingDate" : "2022-08-22T04:45:21", "bicycleType" : [ "픽시" ], "ridingCourses" : [ "start", "end" ], "maxParticipant" : 1, "minParticipant" : 1, "participants" : [ { "id" : 2, "nickname" : "testUser", "profileImage" : "https://programmers.co.kr/assets/icons/apple-icon-6eafc2c4c58a21aef692d6e44ce99d41f999c71789f277317532d0a9c6db8976.png" } ], "departurePosition" : { "lng" : 37.660666, "lat" : 126.229333 }, "details" : [ ] } }, ], "pageable" : { "sort" : { "empty" : false, "unsorted" : false, "sorted" : true }, "offset" : 0, "pageNumber" : 0, "pageSize" : 50, "paged" : true, "unpaged" : false }, "size" : 50, "number" : 0, "sort" : { "empty" : false, "unsorted" : false, "sorted" : true }, "numberOfElements" : 8, "first" : true, "last" : true, "empty" : false }
 

[ Request]

Parameter

필터링 관련 파라미터
Name
Type
Description
비고
addressCode
Integer
라이딩 개최 지역 코드
지역 코드 링크
bicycleCode
Integer
라이딩 참여 가능 자전거 코드
0 : 모두 (default) 1 : MTB 2 : ROAD 3 : 따릉이 4 : 픽시 5 : 하이브리드
ridingLevel
String
라이딩 참여 가능 숙련도
“상”, “중”, “하”
ridingStatusCode
Integer
라이딩 모집 상태
0 : 모두 1 : 모집 진행중 (default) 2 : 모집 마감
페이징 관련 파라미터
Name
Type
Description
비고
page
Integer
페이지 번호
size
Integer
페이지 당 게시글 수

[ Reponse]

200 성공

논의 후 작성 예정 !

Body
이름
자료형
비고
pageable
postId
number
thumbnail
String
이미지 url
ridingLevel
String
“상”, “중”, “하”
ridingDate
LocalDateTIme
pattern = yyyy-MM-dd'T'HH:mm:ss.SSS'Z'
ridingStatus
String
“모집 중” “모집 마감”
zone
Object
그냥 code값만 전송할 것인지?
bicycleType
Array
String
유저 스토리 참고
createdAt
LocalDateTIme
ridingDate와 동일
  • page: number
    • 가져온 라이딩 목록 페이지
  • size: number
    • 가져온 라이딩 목록 크기
  • hasnext: boolean
    • 다음 page 존재 여부
  • ridingposts : Object[]
    • 필터링된 자전거 크기 목록
    • authorid : number
      • 작성자 id
    • title: string
      • 라이딩 제목
    • datetime: string
      • 라이딩 시작 시간
    • bicycles: string[]
      • 자전거 종류
    • estimatedtime: number
      • 예상 소요 시간
    • minimumparticipants : number
      • 최소 참가자
    • maximumparticipants: number
      • 최대 참가자
    • images : string[]
      • 라이딩 이미지(URL)
      • 첫 번째 이미지를 대표 이미지(썸네일)로 사용한다고 가정
    • course: string[]
      • 경로
    • level: string
      • 사용자 숙련 수준
      • 상, 중, 하

400 실패

  • 필터링 파라미터에 잘못된 값이 들어온 경우 에러 메세지 전송