Skip to content
이향아 edited this page Aug 9, 2022 · 5 revisions

Postman


API Description

1. devsta-user

1.1 로그인

  • 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 토큰

1.2 회원가입

  • 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 참고

1.3 비밀번호 변경

  • 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

1.4 내 정보 확인

  • GET /api/profile/whoAmI
  • 설명: 내 정보 확인

Request

구분 이름 타입 필수여부 설명
Header Authorization String Y 로그인해서 얻은 토큰

Response

구분 필드명 타입 하위 필드 하위 필드 타입 설명
Body code Int 응답 코드
message String 응답 메세지
attribute HashMap me UserSummaryDto 1.99 참고

1.5 프로필 업데이트

  • 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

1.99 DTO 리스트

UserSummaryDto

필드명 타입 하위 필드 하위 필드 타입 설명
id String ID (불변)
nickname String 닉네임 (변경가능)
email String 이메일 (불변)

2. devsta-meetup

💡 비로그인 API : /api/meetup/read/** Authorization 토큰이 필요한 API: /api/meetup/service/**

2.1 밋업 생성

  • 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 참고

2.2 카테고리 리스트

  • GET api/meetup/read/getCategories
  • 설명: 밋업 카테고리 리스트

Request

None

Response

구분 필드명 타입 하위 필드 하위 필드 타입 설명
Body code Int 응답 코드
message String 응답 메세지
attribute HashMap result List 밋업 카테고리

2.3 밋업 리스트 가져오기

  • 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} 다음 페이지네이션 링크

2.4 밋업 리스트 가져오기

  • 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} 다음 페이지네이션 링크

2.5 밋업 상세 페이지

  • 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 참고

2.6 밋업 업데이트

  • 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 수정 결과

2.7 내가 참여중인 밋업 리스트

  • 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} 다음 페이지네이션 링크

2.8 내 밋업 리스트

  • 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} 다음 페이지네이션 링크

2.9 밋업 상태

  • 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)

2.10 밋업 삭제

  • DELETE api/meetup/service/delete
  • 설명: 밋업 삭제

Request

구분 이름 타입 필수여부 설명
Header Authorization String Y 로그인해서 얻은 토큰
Param id String Y 밋업 아이디

Response

구분 필드명 타입 하위 필드 하위 필드 타입 설명
Body code Int 응답 코드
message String 응답 메세지
attribute null

2.11 밋업 참여

  • 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에서 추가된거 확인 가능
  • 만약 이미 참여중/대기중이라면 “이미 참여중인 밋업입니다” 에러 발생 |

2.12 참여 수락

  • 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 에서 추가된거 확인 가능
  • 만약 대기 유저 목록에 없으면 에러
  • 내가 리더 아이디가 아닌경우 “권한이 없습니다” 에러 |

2.13 밋업 멤버 삭제

  • 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 에서 추가된거 확인 가능
  • 만약 대기 유저 목록에 없으면 에러
  • 내가 리더 아이디가 아닌경우 “권한이 없습니다” 에러 |

2.14 밋업 나가기

  • POST api/meetup/service/selfLeave
  • 설명: 내가 참여중인 밋업 나가기
    • 오픈 밋업 → 참여중인 유저 리스트에서 삭제
    • 프라이빗 밋업 → 대기중인(보류중인) 유저 리스트에서 삭제

Request

구분 이름 타입 필수여부 설명
Header Authorization String Y 로그인해서 얻은 토큰
Body meetUpId String Y 밋업 아이디

Response

구분 필드명 타입 하위 필드 하위 필드 타입 설명
Body code Int 응답 코드
message String 응답 메세지
attribute HashMap result MeetUpDto 참여한 밋업
  • 만약 참여/대기 유저 목록에 없으면 에러 |

2.99 DTO 리스트

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} 상세 페이지 주소

3. devast-posts

3.1 피드 생성

  • post api/posts/create
  • 설명 : 피드 생성

Request

구분 이름 타입 필수여부 설명
Header Authorization String Y 로그인해서 얻은 토큰
Body contents String Y 피드 내용
  pictureUrl String N 사진 url

Response

구분 필드명 타입 하위 필드 하위 필드 타입 설명
Body code Integer     응답 코드
  message String     응답 메세지
  attribute HashMap result PostDto 저장된 피드 정보

3.2 전체 피드 조회

  • get api/posts/timeline
  • 설명 : 전체 피드 조회

Request

구분 이름 타입 필수여부 설명
Header Authorization String Y 로그인해서 얻은 토큰
Request        
Param page Integer Y 리스트 페이지 (0부터 시작)
  size Integer Y 개수

Response

구분 필드명 타입 하위 필드 하위 필드 타입 설명
Body "_embedded” Object Posts List
"_links” Object next HashMap
{”href”: XXX} 다음 페이지네이션 링크

3.3 내가 생성한 피드

  • get api/posts/myFeed
  • 설명 : 내가 생성한 피드들만 조회

Request

구분 이름 타입 필수여부 설명
Header Authorization String Y 로그인해서 얻은 토큰
Request
Param page Integer Y 리스트 페이지 (0부터 시작)
size Integer Y 개수

Response

구분 필드명 타입 하위 필드 하위 필드 타입 설명
Body "_embedded” Object Posts List
"_links” Object next HashMap
{”href”: XXX} 다음 페이지네이션 링크

3.4 피드 수정하기

  • put api/posts/update/{postId}
  • 설명 : 내가 생성한 피드들만 조회

Request

구분 이름 타입 필수여부 설명
Header Authorization String Y 로그인해서 얻은 토큰
Request
Param postId Integer Y 리스트 페이지 (0부터 시작)
Body contents String Y 수정할 내용
pictureUrl String N 수정할 사진 url

Response

구분 필드명 타입 하위 필드 하위 필드 타입 설명
Body code Integer 응답 코드
message String 응답 메세지
attribute HashMap result PostDto 저장된 피드 정보

3.5 피드 삭제하기

  • get api/posts/delete/{postId}
  • 설명 : 내가 생성한 피드들만 조회

Request

구분 이름 타입 필수여부 설명
Header Authorization String Y 로그인해서 얻은 토큰
Request
Param postId Integer Y 삭제할 postId

Response

구분 필드명 타입 하위 필드 하위 필드 타입 설명
Body code Integer 응답 코드
message String 응답 메세지
attribute HashMap result postId 삭제된 postId

3.6 피드 좋아요 기능

  • post api/posts/like/{postId}
  • 설명 : 내가 생성한 피드들만 조회

Request

구분 이름 타입 필수여부 설명
Header Authorization String Y 로그인해서 얻은 토큰
Request
Param postId Integer Y 좋아요 누를 postId

Response

구분 필드명 타입 하위 필드 하위 필드 타입 설명
Body code Integer 응답 코드
message String 응답 메세지
attribute HashMap result heartCount 좋아요 개수

3.6 댓글 추가하기

  • post api/posts/comments/create
  • 설명 : 내가 생성한 피드들만 조회

Request

구분 이름 타입 필수여부 설명
Header Authorization String Y 로그인해서 얻은 토큰
Body postId Integer Y 좋아요 누를 postId
contents String Y 댓글 내용

Response

구분 필드명 타입 하위 필드 하위 필드 타입 설명
Body code Integer 응답 코드
message String 응답 메세지
attribute HashMap result CommentDto 생성한 댓글 조회

3.7 댓글 전체 조회

  • get api/posts/comments/list/{postId}
  • 설명 : 전체 댓글 조회

Request

구분 이름 타입 필수여부 설명
Header Authorization String Y 로그인해서 얻은 토큰
Request
Param postId Long Y 댓글 조회 할 피드 ID

Response

구분 필드명 타입 하위 필드 하위 필드 타입 설명
Body code Integer 응답 코드
message String 응답 메세지
attribute HashMap result CommentDto 좋아요 개수
commentCount Integer 댓글 총 개수

3.8 댓글 수정하기

  • get api/posts/comments/update/{postId}
  • 설명 : 댓글 수정하기

Request

구분 이름 타입 필수여부 설명
Header Authorization String Y 로그인해서 얻은 토큰
Request
Param commentId Long Y 댓글 수정 할 ID

Response

구분 필드명 타입 하위 필드 하위 필드 타입 설명
Body code Integer 응답 코드
message String 응답 메세지
attribute HashMap result CommentDto 좋아요 개수

3.9 댓글 삭제하기

  • get api/posts/comments/delete/{commentId}/posts/{postId}
  • 설명 : 댓글 삭제하기

Request

구분 이름 타입 필수여부 설명
Header Authorization String Y 로그인해서 얻은 토큰
Request
Param commentId Long Y 삭제할 댓글 ID
postId Long Y 삭제 할 피드 ID

Response

구분 필드명 타입 하위 필드 하위 필드 타입 설명
Body code Integer 응답 코드
message String 응답 메세지
attribute HashMap result postId 삭제한 댓글의 postId
deleteCommentId 삭제한 댓글 ID

3.99 DTO 리스트

PostSaveRequestDto

private String contents;
private String pictureUrl;
필드명 타입 하위 필드 하위 필드 타입 설명
contents String 피드 작성 내용
pictureUrl String 피드 첨부 사진 Url

PostsDto

private Long id;
private String userId;
private String contents;
private List<String> heartsCount;
private String pictureUrl;
private LocalDateTime createDt;
private LocalDateTime updateDt;
필드명 타입 하위 필드 하위 필드 타입 설명
id Integer ID (불변)
userId String User 테이블의 ID
contents String 피드 작성 내용
heartsCount List 좋아요 갯수
pictureUrl String 피드 첨부 사진 Url
createDt LocalDateTime 피드 생성 날짜
updateDt LocalDateTime 피드 수정 날짜(최신)

CommentDto

private Long id;
private Long postId;
private String commentUser;
private String contents;
private LocalDateTime createDt;
private LocalDateTime updateDt;
필드명 타입 하위 필드 하위 필드 타입 설명
id Long ID (불변)
postId Long User 테이블의 ID
commentUser String 피드 작성 내용
contents String 좋아요 갯수
createDt LocalDateTime 피드 생성 날짜
updateDt LocalDateTime 피드 수정 날짜(최신)