Skip to content

Content

Jaeyu Jo edited this page Jan 11, 2019 · 12 revisions

Content

모든 컨텐츠 조회

메소드 경로 설명
GET /contents?page={page_no}&size={page_size} 모든 컨텐츠 조회
Parameters
필드 타입 필수여부 설명
page int Optional 조회 페이지 번호(0 ~ Limit), Default : 0
size int Optional 페이지당 객체 수, Default : 5

요청헤더

Authorization: token

응답 바디

모든 컨텐츠 조회 성공

{
    "status": 200,
    "message": "게시글 조회 성공",
    "data": {
        "contents": [
            {
                "userName": "재휘",
                "photos": [
                    {
                        "photoIdx": 3,
                        "photoName": "https://s3.ap-northeast-2.amazonaws.com/origin/dab5be0c74e44d689413435d6312f62e.jpg",
                        "createdAt": "2019-01-11T18:44:11",
                        "contentIdx": 3,
                        "userIdx": 12
                    }
                ],
                "userProfile": null,
                "content": {
                    "contentIdx": 3,
                    "content": "맛있는 저녁",
                    "createdAt": "2019-01-11T18:44:11",
                    "commentCount": 2,
                    "userIdx": 12,
                    "groupIdx": 2
                }
            },
            {
                "userName": "김민서억",
                "photos": [
                    {
                        "photoIdx": 2,
                        "photoName": "https://s3.ap-northeast-2.amazonaws.com/origin/17d20b53b23b42a3b1d3885717595dbf.jpg",
                        "createdAt": "2019-01-11T08:19:44",
                        "contentIdx": 2,
                        "userIdx": 2
                    }
                ],
                "userProfile": "https://s3.ap-northeast-2.amazonaws.com/resized/origin/747a62256e144335ad5bf33a38e7a3df.jpg",
                "content": {
                    "contentIdx": 2,
                    "content": "ㅎㅎㅎㅎ",
                    "createdAt": "2019-01-11T08:19:44",
                    "commentCount": 10,
                    "userIdx": 2,
                    "groupIdx": 2
                }
            }
        ],
        "totalPage": 1
    }
}
Parameters
필드 타입 필수여부 설명
photoIdx int Required 사진 고유 번호
photoName String Required 사진 URL
createdAt LocalDateTime Required 게시글/사진 등록일
contentIdx int Required 게시글 고유 번호
userIdx int Required 회원 고유 번호
userName String Required 회원 닉네임
userProfile String Required 회원 프로필URL
content String Required 게시글 내용
commentCount int Required 댓글 갯수
groupIdx int Required 그룹 고유 번호
totalPage int Required 전체 페이지 수

게시글이 존재하지 않음

{
    "status": 204,
    "message": "게시글을 찾을 수 없습니다.",
    "data": null
}

유효하지 않은 회원의 접근

{
    "status": 404,
    "message": "회원을 찾을 수 없습니다.",
    "data": null
}

DB 에러

{
    "status": 600,
    "message": "데이터베이스 에러",
    "data": null
}

INTERNAL SERVER ERROR

{
    "status": 500,
    "message": "서버 내부 에러",
    "data": null
}

해당 컨텐츠 조회

메소드 경로 설명
GET /contents/{contentIdx} 해당 컨텐츠 조회
Parameters
필드 타입 필수여부 설명
contentIdx int Required 게시글 고유 번호

요청헤더

Authorization: token

응답 바디

해당 컨텐츠 조회 성공

{
    "status": 200,
    "message": "게시글 조회 성공",
    "data": {
        "userName": "김민서억",
        "photos": [
            {
                "photoIdx": 2,
                "photoName": "https://s3.ap-northeast-2.amazonaws.com/origin/17d20b53b23b42a3b1d3885717595dbf.jpg",
                "createdAt": "2019-01-11T08:19:44",
                "contentIdx": 2,
                "userIdx": 2
            }
        ],
        "userProfile": "https://s3.ap-northeast-2.amazonaws.com/resized/origin/747a62256e144335ad5bf33a38e7a3df.jpg",
        "content": {
            "contentIdx": 2,
            "content": "ㅎㅎㅎㅎ",
            "createdAt": "2019-01-11T08:19:44",
            "commentCount": 10,
            "userIdx": 2,
            "groupIdx": 2
        }
    }
}

게시글이 존재하지 않음

{
    "status": 204,
    "message": "게시글을 찾을 수 없습니다.",
    "data": null
}

DB 에러

{
    "status": 600,
    "message": "데이터베이스 에러",
    "data": null
}

INTERNAL SERVER ERROR

{
    "status": 500,
    "message": "서버 내부 에러",
    "data": null
}

이번주 컨텐츠 수 조회

메소드 경로 설명
GET /contents/count/week 이번주 컨텐츠 수 조회

요청헤더

Authorization: token

응답 바디

해당 컨텐츠 조회 성공

{
    "status": 200,
    "message": "게시글 조회 성공",
    "data": {
        "count": 2
    }
}
Parameters
필드 타입 필수여부 설명
count int Required 게시글 갯수

유효하지 않은 회원의 접근

{
    "status": 404,
    "message": "회원을 찾을 수 없습니다.",
    "data": null
}

DB 에러

{
    "status": 600,
    "message": "데이터베이스 에러",
    "data": null
}

INTERNAL SERVER ERROR

{
    "status": 500,
    "message": "서버 내부 에러",
    "data": null
}

컨텐츠 작성

메소드 경로 설명
POST /contents 컨텐츠 작성

요청헤더

Authorization: token
Content-Type : multipart/form-data

요청 바디

{
    "content": "내용",
    "photos": files
}
Parameters
필드 타입 필수여부 설명
content String Required 내용
photos File Optional 사진 파일(5개 이하)

응답 바디

해당 컨텐츠 작성 성공

{
    "status": 201,
    "message": "게시글 업로드 성공",
    "data": null
}

컨텐츠 내용이 비어있음

{
    "status": 400,
    "message": "NULL 에러",
    "data": null
}

DB 에러

{
    "status": 600,
    "message": "데이터베이스 에러",
    "data": null
}

INTERNAL SERVER ERROR

{
    "status": 500,
    "message": "서버 내부 에러",
    "data": null
}

해당 컨텐츠 수정

메소드 경로 설명
PUT /contents/{contentIdx} 해당 컨텐츠 수정
Parameters
필드 타입 필수여부 설명
contentIdx int Required 게시글 고유 번호

요청헤더

Authorization: token
Content-Type :application/json

요청 바디

{
    "content": "내용"
}
Parameters
필드 타입 필수여부 설명
content String Required 게시글 수정 내용(전문)

응답 바디

해당 컨텐츠 수정 성공

{
    "status": 200,
    "message": "게시글 수정 성공",
    "data": null
}

게시글이 존재하지 않음

{
    "status": 204,
    "message": "게시글을 찾을 수 없습니다.",
    "data": null
}

컨텐츠 내용이 비어있음

{
    "status": 400,
    "message": "NULL 에러",
    "data": null
}

DB 에러

{
    "status": 600,
    "message": "데이터베이스 에러",
    "data": null
}

INTERNAL SERVER ERROR

{
    "status": 500,
    "message": "서버 내부 에러",
    "data": null
}

해당 컨텐츠 삭제

메소드 경로 설명
DELTE /contents/{contentIdx} 해당 컨텐츠 삭제
Parameters
필드 타입 필수여부 설명
contentIdx int Required 게시글 고유 번호

요청헤더

Authorization: token

응답 바디

해당 컨텐츠 삭제 성공

{
    "status": 200,
    "message": "게시글 삭제 성공",
    "data": null
}

게시글이 존재하지 않음

{
    "status": 204,
    "message": "게시글을 찾을 수 없습니다.",
    "data": null
}

컨텐츠 내용이 비어있음

{
    "status": 400,
    "message": "NULL 에러",
    "data": null
}

DB 에러

{
    "status": 600,
    "message": "데이터베이스 에러",
    "data": null
}

INTERNAL SERVER ERROR

{
    "status": 500,
    "message": "서버 내부 에러",
    "data": null
}