Profile API 문서 - PartyGwam/api GitHub Wiki

Profile API

기능 : 프로필 조회, 프로필 상세 조회, 프로필 변경

문서 목차

  1. GET /profiles/
  2. GET /profiles/<username>/
  3. POST /profiles/

상기 URL로 보내는 모든 요청은 인증 헤더(Authorization) 필요!

GET /profiles/

프로필 전체 조회 기능

Response Format - Success

성공 시 다음의 데이터와 함께 200 응답을 리턴.

기본 페이지 단위는 10.
만약 데이터 수가 10을 넘어가면 다음 페이지 활성화.
profile_picturenull 인 경우 해당 유저는 프로필 사진을 등록하지 않은 경우.

{
  "success": true,
  "result": {
    "count": 4,
    "data": [
      {
        "uuid": "f179b28e-a7a0-48ef-b685-800509e2fe79",
        "user": {
          "email": "[email protected]"
        },
        "username": "샘플 유저 2",
        "profile_picture": null
      },
      {
        "uuid": "37328c64-3d70-4cc0-b621-955b99f870d1",
        "user": {
          "email": "[email protected]"
        },
        "username": "샘플 유저 3",
        "profile_picture": null
      },
      {
        "uuid": "77c7609a-bf79-48c0-8cdc-bacc168747cc",
        "user": {
          "email": "[email protected]"
        },
        "username": "개발자",
        "profile_picture": null
      },
      {
        "uuid": "0def54af-1d1e-4762-8399-f541a9ae0e75",
        "user": {
          "email": "[email protected]"
        },
        "username": "홍길동",
        "profile_picture": null
      },
    ],
    "paging": {
      "previous": null,
      "next": "http://127.0.0.1:8000/api/profiles/?page=2"
    }
  },
  "message": null
}

Response Format - Failure

실패 시 401(Unauthorized) 응답 리턴.

GET /profiles/<username>/

프로필 상세 조회 기능
본인 프로필만 조회 가능

Response Format - Success

성공 시 다음의 데이터와 함께 200 응답을 리턴.

{
  "success": true,
  "result": {
    "uuid": "77c7609a-bf79-48c0-8cdc-bacc168747cc",
    "user": {
      "email": "[email protected]"
    },
    "username": "개발자",
    "profile_picture": null
  },
  "message": null
}

Response Format - Failure

실패 시 실패 사유에 따라 다음의 응답 코드를 리턴:

  • 401 : 인증 헤더 자체가 없는 경우
  • 403 : 인증 헤더가 존재하지만, 로그인 된 유저와 다른 경우 (본인 프로필만 조회 가능)

POST /profiles/

프로필 변경
변경할 수 있는 항목: 닉네임, 프로필 사진
본인 프로필만 변경 가능

Request Format

만약 프로필 사진 업로드 시, multipart/form-data 형식의 파일 업로드 요청을 보낼 것!
닉네임만 바꾸는 경우, application/json 요청을 보내도 무방.

닉네임의 경우 username 키, 프로필 사진의 경우 profile_picture 키를 활용하면 됨.

Response Format - Success

프로필 정보 수정에 성공하면 다음의 데이터와 함께 200 응답을 리턴.

{
    "success": true,
    "result": {
        "username": "개발자",
        "profile_picture": "http://127.0.0.1:8000/media/profile_pictures/picture_W2hV6AE.jpg"
    },
    "message": null
}

Response Format - Failure

정보 수정에 실패하면 실패 사유와 함께 4xx 응답을 리턴:

  • 400 : 프로필 사진에 지원되지 않는 파일 포맷을 업로드한 경우
  • 401 : 인증 토큰이 없는 경우
  • 403 : 수정 권한이 없는 경우 (본인의 프로필만 수정 가능)

Miscellaneous

프로필 사진 조회가 필요한 경우 profile_picture 에 담긴 URL로 GET 요청을 보내면 됨!

⚠️ **GitHub.com Fallback** ⚠️