-
Notifications
You must be signed in to change notification settings - Fork 1
Home
이향아 edited this page Aug 9, 2022
·
5 revisions
- devsta-user, devsta-meetup 관련 API: https://documenter.getpostman.com/view/15580972/UzQuPkQc
- devsta-posts 관련 API: https://documenter.getpostman.com/view/20884244/UzQyq3fp
-
POST
/api/auth/signIn -
설명: 로그인 (Authorization 토큰받기)
Request
구분 이름 타입 필수여부 설명 Body email String Y @가 들어가는 이메일 형식 password String Y 영문 대,소문자와 숫자, 특수기호가 적어도 1개 이상씩 포함된 8자 ~ 20자의 비밀번호 Response
구분 필드명 타입 하위 필드 하위 필드 타입 설명 Body code Int 응답 코드 message String 응답 메세지 attribute HashMap Authorization String Authorization 토큰
-
POST
/api/auth/signUp -
설명: 이메일로 회원가입
Request
구분 이름 타입 필수여부 설명 Body name String Y 본명 nickname String Y 닉네임 (변경 가능) password String Y 영문 대,소문자와 숫자, 특수기호가 적어도 1개 이상씩 포함된 8자 ~ 20자의 비밀번호 pictureUrl String N null 로 보내면 자동으로 생성 createdDt String N null 로 보내면 자동으로 생성 description String N null 가능 email String Y @가 들어가는 이메일 형식, 변경 불가 github String N github 주소 blog String N blog 주소 tags List N 기술 태그. 없으면 [null] provider String Y 자체 회원가입 → “app” 구글 회원가입 → “google” Response
구분 필드명 타입 하위 필드 하위 필드 타입 설명 Body code Int 응답 코드 message String 응답 메세지 attribute HashMap user UserSummaryDto 새로생성된 유저 1.99 참고
-
POST
/api/auth/changePW -
설명: 비밀번호 변경
Request
구분 이름 타입 필수여부 설명 Body email String Y @가 들어가는 이메일 형식 password String Y 현재 비밀번호 newPassword String Y 영문 대,소문자와 숫자, 특수기호가 적어도 1개 이상씩 포함된 8자 ~ 20자의 비밀번호 Response
구분 필드명 타입 하위 필드 하위 필드 타입 설명 Body code Int 응답 코드 message String 응답 메세지 attribute null
-
GET
/api/profile/whoAmI - 설명: 내 정보 확인
Request
구분 | 이름 | 타입 | 필수여부 | 설명 |
---|---|---|---|---|
Header | Authorization | String | Y | 로그인해서 얻은 토큰 |
Response
구분 | 필드명 | 타입 | 하위 필드 | 하위 필드 타입 | 설명 |
---|---|---|---|---|---|
Body | code | Int | 응답 코드 | ||
message | String | 응답 메세지 | |||
attribute | HashMap | me | UserSummaryDto | 1.99 참고 |
-
PUT
/api/profile/update -
설명: 프로필 업데이트
Request
구분 이름 타입 필수여부 설명 Header Authorization String Y 로그인해서 얻은 토큰 Body name String Y 본명 nickname String Y 닉네임 (변경 가능) password String Y 영문 대,소문자와 숫자, 특수기호가 적어도 1개 이상씩 포함된 8자 ~ 20자의 비밀번호 pictureUrl String N null 로 보내면 자동으로 생성 createdDt String N null 로 보내면 자동으로 생성 description String N null 가능 email String Y @가 들어가는 이메일 형식, 변경 불가 github String N github 주소 blog String N blog 주소 tags List N 기술 태그. 없으면 [null] provider String Y 자체 회원가입 → “app” 구글 회원가입 → “google” Response
구분 필드명 타입 하위 필드 하위 필드 타입 설명 Body code Int 응답 코드 message String 응답 메세지 attribute null
UserSummaryDto
필드명 | 타입 | 하위 필드 | 하위 필드 타입 | 설명 |
---|---|---|---|---|
id | String | ID (불변) | ||
nickname | String | 닉네임 (변경가능) | ||
String | 이메일 (불변) |
-
POST
api/meetup/service/create - 설명: 밋업 생성
Request
구분 | 이름 | 타입 | 필수여부 | 설명 |
---|---|---|---|---|
Header | Authorization | String | Y | 로그인해서 얻은 토큰 |
Body | category | String | Y | 카테고리 (getCategories에서 받은 ID 값) |
title | String | Y | 밋업 제목 | |
contents | String | N | 내용 | |
maxPeople | Integer | Y | 0 이상, 10 이하 | |
isOpenYn | Boolean | Y | true → 오픈밋업 | |
false → 프라이빗 밋업 |
Response
구분 | 필드명 | 타입 | 하위 필드 | 하위 필드 타입 | 설명 |
---|---|---|---|---|---|
Body | code | Int | 응답 코드 | ||
message | String | 응답 메세지 | |||
attribute | HashMap | result | MeetUpDto | 생성된 밋업 | |
2.99 참고 |
-
GET
api/meetup/read/getCategories - 설명: 밋업 카테고리 리스트
Request
None
Response
구분 | 필드명 | 타입 | 하위 필드 | 하위 필드 타입 | 설명 |
---|---|---|---|---|---|
Body | code | Int | 응답 코드 | ||
message | String | 응답 메세지 | |||
attribute | HashMap | result | List | 밋업 카테고리 |
-
GET
api/meetup/read/getMeetUpSummaries/{category} - 설명: 밋업 리스트 가져오기
Request
구분 | 이름 | 타입 | 필수여부 | 설명 |
---|---|---|---|---|
PathVariable | category | String | Y | 카테고리 (getCategories에서 받은 ID 값) |
단, 모든 카테고리 → “ALL” 입력 | ||||
Request | ||||
Param | page | Integer | Y | 리스트 페이지 (0부터 시작) |
size | Integer | Y | 개수 |
Response
구분 | 필드명 | 타입 | 하위 필드 | 하위 필드 타입 | 설명 |
---|---|---|---|---|---|
Body | "_embedded” | Object | meetUpSummaryDtoList | List | 밋업 리스트 |
2.99 참고 | |||||
"_links” | Object | next | HashMap | ||
{”href”: XXX} | 다음 페이지네이션 링크 |
-
GET
api/meetup/read/getMeetUpSummaries/{category} - 설명: 밋업 리스트 가져오기
Request
구분 | 이름 | 타입 | 필수여부 | 설명 |
---|---|---|---|---|
Request | ||||
Param | meetUpId | String | Y | 밋업 ID |
Response
구분 | 필드명 | 타입 | 하위 필드 | 하위 필드 타입 | 설명 |
---|---|---|---|---|---|
Body | "_embedded” | Object | meetUpSummaryDtoList | List | 밋업 리스트 |
2.99 참고 | |||||
"_links” | Object | next | HashMap | ||
{”href”: XXX} | 다음 페이지네이션 링크 |
-
GET
api/meetup/read/getOneMeetUp - 설명: 밋업 상세 내용 가져오기
Request
구분 | 이름 | 타입 | 필수여부 | 설명 |
---|---|---|---|---|
PathVariable | category | String | Y | 카테고리 (getCategories에서 받은 ID 값) |
단, 모든 카테고리 → “ALL” 입력 | ||||
Request | ||||
Param | page | Integer | Y | 리스트 페이지 (0부터 시작) |
size | Integer | Y | 개수 |
Response
구분 | 필드명 | 타입 | 하위 필드 | 하위 필드 타입 | 설명 |
---|---|---|---|---|---|
Body | code | Int | 응답 코드 | ||
message | String | 응답 메세지 | |||
attribute | HashMap | result | MeetUpDto | 밋업 정보 | |
2.99 참고 |
-
POST
api/meetup/service/update - 설명: 밋업 업데이트. 단, 프라이빗 밋업 → 오픈밋업으로 수정하는 경우 대기중에 있는 모든 멤버들이 참여중인 멤버로 이동
Request
구분 | 이름 | 타입 | 필수여부 | 설명 |
---|---|---|---|---|
Header | Authorization | String | Y | 로그인해서 얻은 토큰 |
Body | id | String | Y | ID (불변) |
category | String | Y | 카테고리 (getCategories에서 받은 ID 값) | |
title | String | Y | 제목 | |
contents | String | Y | 내용 | |
maxPeople | Integer | Y | 최대 인원수 (0~10) | |
isOpenYn | Boolean | Y | true → 오픈밋업 | |
false → 프라이빗 밋업 | ||||
isRecruiting | Boolean | Y | true → 모집중 | |
false → 마감 |
Response
구분 | 필드명 | 타입 | 하위 필드 | 하위 필드 타입 | 설명 |
---|---|---|---|---|---|
Body | code | Int | 응답 코드 | ||
message | String | 응답 메세지 | |||
attribute | HashMap | result | MeetUpDto | 수정 결과 |
-
GET
api/meetup/service/getJoinedMeetUp - 설명: 내가 멤버로 참여중인 리스트
Request
구분 | 이름 | 타입 | 필수여부 | 설명 |
---|---|---|---|---|
Header | Authorization | String | Y | 로그인해서 얻은 토큰 |
Param | page | Integer | Y | 페이지 (0부터 시작) |
size | Integer | Y | 사이즈(밋업 개수) |
Response
구분 | 필드명 | 타입 | 하위 필드 | 하위 필드 타입 | 설명 |
---|---|---|---|---|---|
Body | "_embedded” | Object | meetUpSummaryDtoList | List | 밋업 리스트 |
2.99 참고 | |||||
"_links” | Object | next | HashMap | ||
{”href”: XXX} | 다음 페이지네이션 링크 |
-
GET
api/meetup/service/getMyMeetUp - 설명: 내가 만든 밋업 리스트
Request
구분 | 이름 | 타입 | 필수여부 | 설명 |
---|---|---|---|---|
Header | Authorization | String | Y | 로그인해서 얻은 토큰 |
Param | page | Integer | Y | 페이지 (0부터 시작) |
size | Integer | Y | 사이즈(밋업 개수) |
Response
구분 | 필드명 | 타입 | 하위 필드 | 하위 필드 타입 | 설명 |
---|---|---|---|---|---|
Body | "_embedded” | Object | meetUpSummaryDtoList | List | 밋업 리스트 |
2.99 참고 | |||||
"_links” | Object | next | HashMap | ||
{”href”: XXX} | 다음 페이지네이션 링크 |
-
GET
api/meetup/service/getMyMeetUp - 설명: 내가 이 밋업에서 어떤 상태인지 (
OWNED
,JOINED
,PENDING
,UNRELATED
)
Request
구분 | 이름 | 타입 | 필수여부 | 설명 |
---|---|---|---|---|
Header | Authorization | String | Y | 로그인해서 얻은 토큰 |
Param | meetUpId | String | Y | 밋업 아이디 |
Response
구분 | 필드명 | 타입 | 하위 필드 | 하위 필드 타입 | 설명 |
---|---|---|---|---|---|
Body | code | Int | 응답 코드 | ||
message | String | 응답 메세지 | |||
attribute | HashMap | result | String | 상태 (OWNED, JOINED, PENDING, UNRELATED) |
-
DELETE
api/meetup/service/delete - 설명: 밋업 삭제
Request
구분 | 이름 | 타입 | 필수여부 | 설명 |
---|---|---|---|---|
Header | Authorization | String | Y | 로그인해서 얻은 토큰 |
Param | id | String | Y | 밋업 아이디 |
Response
구분 | 필드명 | 타입 | 하위 필드 | 하위 필드 타입 | 설명 |
---|---|---|---|---|---|
Body | code | Int | 응답 코드 | ||
message | String | 응답 메세지 | |||
attribute | null |
-
POST
api/meetup/service/join - 설명: 밋업에 참여하기
- 오픈 밋업 → 멤버 아이디 리스트에 내 아이디 추가
- 프라이빗 밋업 → 대기중인(보류중인) 아이디 리스트에 내 아이디 추가
Request
구분 | 이름 | 타입 | 필수여부 | 설명 |
---|---|---|---|---|
Header | Authorization | String | Y | 로그인해서 얻은 토큰 |
Body | meetUpId | String | Y | 밋업 아이디 |
Response
구분 | 필드명 | 타입 | 하위 필드 | 하위 필드 타입 | 설명 |
---|---|---|---|---|---|
Body | code | Int | 응답 코드 | ||
message | String | 응답 메세지 | |||
attribute | HashMap | result | MeetUpDto | 참여한 밋업 |
- memberId, pendingId에서 추가된거 확인 가능
- 만약 이미 참여중/대기중이라면 “이미 참여중인 밋업입니다” 에러 발생 |
-
POST
api/meetup/service/accept - 설명: 참여 수락
- 프라이빗 밋업 → 대기중인(보류중인) 유저를 참여중인 유저로 변경
Request
구분 | 이름 | 타입 | 필수여부 | 설명 |
---|---|---|---|---|
Header | Authorization | String | Y | 로그인해서 얻은 토큰 |
Body | meetUpId | String | Y | 밋업 아이디 |
memberId | String | Y | 수락할 멤버 아이디 |
Response
구분 | 필드명 | 타입 | 하위 필드 | 하위 필드 타입 | 설명 |
---|---|---|---|---|---|
Body | code | Int | 응답 코드 | ||
message | String | 응답 메세지 | |||
attribute | HashMap | result | MeetUpDto | 참여한 밋업 |
- memberId 에서 추가된거 확인 가능
- 만약 대기 유저 목록에 없으면 에러
- 내가 리더 아이디가 아닌경우 “권한이 없습니다” 에러 |
-
POST
api/meetup/service/leave - 설명: 밋업 탈퇴
- 오픈 밋업 → 참여중인 밋업에서 나가기
- 프라이빗 밋업 → 대기중인(보류중인) 밋업에서 나가기
Request
구분 | 이름 | 타입 | 필수여부 | 설명 |
---|---|---|---|---|
Header | Authorization | String | Y | 로그인해서 얻은 토큰 |
Body | meetUpId | String | Y | 밋업 아이디 |
memberId | String | Y | 수락할 멤버 아이디 |
Response
구분 | 필드명 | 타입 | 하위 필드 | 하위 필드 타입 | 설명 |
---|---|---|---|---|---|
Body | code | Int | 응답 코드 | ||
message | String | 응답 메세지 | |||
attribute | HashMap | result | MeetUpDto | 참여한 밋업 |
- memberId 에서 추가된거 확인 가능
- 만약 대기 유저 목록에 없으면 에러
- 내가 리더 아이디가 아닌경우 “권한이 없습니다” 에러 |
-
POST
api/meetup/service/selfLeave - 설명: 내가 참여중인 밋업 나가기
- 오픈 밋업 → 참여중인 유저 리스트에서 삭제
- 프라이빗 밋업 → 대기중인(보류중인) 유저 리스트에서 삭제
Request
구분 | 이름 | 타입 | 필수여부 | 설명 |
---|---|---|---|---|
Header | Authorization | String | Y | 로그인해서 얻은 토큰 |
Body | meetUpId | String | Y | 밋업 아이디 |
Response
구분 | 필드명 | 타입 | 하위 필드 | 하위 필드 타입 | 설명 |
---|---|---|---|---|---|
Body | code | Int | 응답 코드 | ||
message | String | 응답 메세지 | |||
attribute | HashMap | result | MeetUpDto | 참여한 밋업 |
- 만약 참여/대기 유저 목록에 없으면 에러 |
MeetUpDto
필드명 | 타입 | 하위 필드 | 하위 필드 타입 | 설명 |
---|---|---|---|---|
id | String | ID (불변) | ||
category | String | 카테고리 (getCategories에서 받은 ID 값) | ||
title | String | 제목 | ||
contents | String | 내용 | ||
maxPeople | Integer | 최대 인원수 | ||
memberId | List | 밋업 참여멤버의 ID 리스트 | ||
pendingId | List | (프라이빗 밋업) 대기중인(보류중인) 유저 ID 리스트 | ||
isOpenYn | Boolean | true → 오픈밋업 | ||
false → 프라이빗 밋업 | ||||
isRecruiting | Boolean | true → 모집중 | ||
false → 마감 | ||||
leaderId | String | 밋업 리더 ID |
MeetUpCategory
필드명 | 타입 | 설명 |
---|---|---|
code | String | ID |
displayName | String | 한글 명 |
MeetUpSummaryDto
필드명 | 타입 | 하위 필드 | 하위 필드 타입 | 설명 |
---|---|---|---|---|
id | String | ID (불변) | ||
category | String | 카테고리 (getCategories에서 받은 ID 값) | ||
title | String | 제목 | ||
contents | String | 내용 (50자 제한) | ||
maxPeople | Integer | 최대 인원수 | ||
memberCount | List | 밋업 참여멤버수 | ||
isOpenYn | Boolean | true → 오픈밋업 | ||
false → 프라이빗 밋업 | ||||
isRecruiting | Boolean | true → 모집중 | ||
false → 마감 | ||||
leaderId | String | 밋업 리더 ID | ||
_links | Object | detail | HashMap | |
{”href”: XXX} | 상세 페이지 주소 |
-
post
api/posts/create - 설명 : 피드 생성
Request
Response
-
get
api/posts/timeline - 설명 : 전체 피드 조회
Request
Response
-
get
api/posts/myFeed - 설명 : 내가 생성한 피드들만 조회
Request
Response
-
put
api/posts/update/{postId} - 설명 : 내가 생성한 피드들만 조회
Request
Response
-
get
api/posts/delete/{postId} - 설명 : 내가 생성한 피드들만 조회
Request
Response
-
post
api/posts/like/{postId} - 설명 : 내가 생성한 피드들만 조회
Request
Response
-
post
api/posts/comments/create - 설명 : 내가 생성한 피드들만 조회
Request
Response
-
get
api/posts/comments/list/{postId} - 설명 : 전체 댓글 조회
Request
Response
-
get
api/posts/comments/update/{postId} - 설명 : 댓글 수정하기
Request
Response
-
get
api/posts/comments/delete/{commentId}/posts/{postId} - 설명 : 댓글 삭제하기
Request
Response
PostSaveRequestDto
private String contents;
private String pictureUrl;
PostsDto
private Long id;
private String userId;
private String contents;
private List<String> heartsCount;
private String pictureUrl;
private LocalDateTime createDt;
private LocalDateTime updateDt;
CommentDto