# COMMENT API

## 게시물 댓글 조회

<mark style="color:blue;">`GET`</mark> `https://Yeollin-jib/comment/:postId`

게시물 아이디로 전체 댓글 조회

#### Path Parameters

| Name                                     | Type    | Description |
| ---------------------------------------- | ------- | ----------- |
| postId<mark style="color:red;">\*</mark> | Integer |             |

{% tabs %}
{% tab title="200: OK 댓글 조회 성공" %}
![](https://1863515620-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FB1Q97Frgb6lsOVPvauMx%2Fuploads%2FhXlm12JpRAnjQTt9LnYB%2Fimage.png?alt=media\&token=0a8dd336-7e98-4533-8247-275bfd9828de)

```javascript
{
    "data": [
        {
            "id": 1, // 데이터 베이스에 저장되는 댓글 아이디
            "userId": 4, // 댓글을 작성한 유저의 아이디
            "postId": 4, // 게시글의 아이디
            "contents": "안녕",
            "createdAt": "2021-10-27T03:39:33.000Z",
            "updateTimestamp": "2021-10-27T03:39:33.000Z",
            "users": [
                {
                    "nickname": "까까h",
                    "imagePath": "IMG_7429(1636134049182).jpg"
                }
            ]
        },
        {
            "id": 3, // 데이터 베이스에 저장되는 댓글 아이디 
            "userId": 4, // 댓글을 작성한 유저의 아이디
            "postId": 4, // 게시글의 아이디
            "contents": "안녕",
            "createdAt": "2021-10-27T03:43:24.000Z",
            "updateTimestamp": "2021-10-27T03:43:24.000Z",
            "users": [
                {
                    "nickname": "suzysoyeonghwang",
                     "imagePath": "IMG_7429(1636134049182).jpg"
                }
            ]
        },
        {
            "id": 4, // 데이터 베이스에 저장되는 댓글 아이디
            "userId": 4, // 댓글을 작성한 유저의 아이디
            "postId": 4, // 게시글의 아이디
            "contents": "안녕2",
            "createdAt": "2021-10-27T03:56:01.000Z",
            "updateTimestamp": "2021-10-27T04:36:32.000Z",
            "users": [
                {
                    "nickname": "김코딩",
                     "imagePath": "IMG_7429(1636134049182).jpg"
                }
            ]
        }
    ],
    "message": "댓글이 성공적으로 조회되었습니다."
}
```

{% endtab %}

{% tab title="501: Not Implemented 서버 에러" %}

```javascript
{ "message": "서버 에러 입니다." }
```

{% endtab %}
{% endtabs %}

## 내가 쓴 댓글 조회

<mark style="color:blue;">`GET`</mark> `https://Yeollin-jib/comment/me`

내가 쓴 전체 댓글 조회

#### Headers

| Name                                            | Type   | Description |
| ----------------------------------------------- | ------ | ----------- |
| Authorization<mark style="color:red;">\*</mark> | String | accessToken |

{% tabs %}
{% tab title="200: OK 댓글 조회 성공" %}
![](https://1863515620-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FB1Q97Frgb6lsOVPvauMx%2Fuploads%2FdRzlFD4Syl6GnCZvXd6a%2Fimage.png?alt=media\&token=81c87391-456c-4bfe-9ea5-f05ef2e51486)

```javascript
{
    "data": [
        {
            "postId": 6,
            "contents": "안안녕녕",
            "post": {
                "title": "제목"
                "dueDate": "1"
            }
        },
        {
            "postId": 6,
            "contents": "안녕",
            "post": {
                "title": "1",
                "dueDate": "1"
            }
        },
        {
            "postId": 6,
            "contents": "소민님!!!!!",
            "post": {
                "title": "1",
                "dueDate": "1"
            }
        },
        {
            "postId": 7,
            "contents": "소민님!!!!!",
            "post": {
                "title": "dd",
                "dueDate": "2021-11-1013:29"
            }
        },
        {
            "postId": 8,
            "contents": "소민님!!!!!",
            "post": {
                "title": "dd22",
                "dueDate": "2021-11-1013:29"
            }
        },
        {
            "postId": 9,
            "contents": "소민님!!!!!",
            "post": {
                "title": "dd22",
                "dueDate": "2021-11-1013:29"
            }
        }
    ],
    "message": "내가 쓴 댓글이 성공적으로 조회되었습니다."
}
```

{% endtab %}

{% tab title="501: Not Implemented 서버 에러" %}

```javascript
{ "message": "서버 에러 입니다." }
```

{% endtab %}
{% endtabs %}

## 게시물 댓글 쓰기

<mark style="color:green;">`POST`</mark> `https://Yeollin-jib/comment/:postId`

게시물 아이디를 입력해서 그 게시물에 댓글 작성

#### Path Parameters

| Name                                     | Type    | Description |
| ---------------------------------------- | ------- | ----------- |
| postId<mark style="color:red;">\*</mark> | Integer |             |

#### Headers

| Name                                            | Type   | Description |
| ----------------------------------------------- | ------ | ----------- |
| Authorization<mark style="color:red;">\*</mark> | String |             |

#### Request Body

| Name                                       | Type   | Description |
| ------------------------------------------ | ------ | ----------- |
| contents<mark style="color:red;">\*</mark> | String |             |

{% tabs %}
{% tab title="200: OK 댓글 작성 성공" %}
![](https://1863515620-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FB1Q97Frgb6lsOVPvauMx%2Fuploads%2FVujM2d3BcvXa3O7217vd%2F%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202021-10-27%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%2012.59.28.png?alt=media\&token=93e93452-df9a-4182-a5bf-a1d70fcfa0fd)

```javascript
{
    "data": {
        "id": 7, // 데이터 베이스에 저장되는 댓글 아이디
        "userId": 4, // 댓글을 작성한 유저의 아이디
        "postId": "2", // 게시글의 아이디
        "contents": "안녕",
        "updateTimestamp": "2021-10-27T03:59:03.441Z",
        "createdAt": "2021-10-27T03:59:03.441Z"
    },
    "nickname": {
        "nickname": "김코딩"
    },
    "message": "댓글이 성공적으로 입력되었습니다."
}
```

{% endtab %}

{% tab title="501: Not Implemented 서버 에러" %}

```javascript
{ "message": "서버에러 입니다." }
```

{% endtab %}
{% endtabs %}

## 게시물 댓글 수정

<mark style="color:purple;">`PATCH`</mark> `https://Yeollin-jib/comment/:commentId`

댓글 아이디로 댓글 수정

#### Path Parameters

| Name                                        | Type    | Description |
| ------------------------------------------- | ------- | ----------- |
| commentId<mark style="color:red;">\*</mark> | Integer |             |

#### Headers

| Name                                            | Type   | Description |
| ----------------------------------------------- | ------ | ----------- |
| Authorization<mark style="color:red;">\*</mark> | String |             |

#### Request Body

| Name                                       | Type   | Description |
| ------------------------------------------ | ------ | ----------- |
| contents<mark style="color:red;">\*</mark> | String |             |

{% tabs %}
{% tab title="200: OK 댓글 수정 성공" %}
![](https://1863515620-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FB1Q97Frgb6lsOVPvauMx%2Fuploads%2F73ssEtgGuxbbbnXr344c%2F%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202021-10-27%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%201.41.31.png?alt=media\&token=5f3a3c3f-e0eb-4fa3-90f5-bc413819d015)

```javascript
{
    "comment": {
        "id": "2", // 데이터 베이스에 저장된 댓글 아이디
        "userId": 4, // 댓글을 작성한 유저의 아이디
        "postId": 1, // 게시글의 아이디
        "contents": "안녕2"
    },
    "nickname": {
        "nickname": "김코딩"
    },
    "message": "댓글이 성공적으로 수정되었습니다."
}
```

{% endtab %}

{% tab title="501: Not Implemented 서버 에러" %}

```javascript
{ "message": "서버에러 입니다." }
```

{% endtab %}
{% endtabs %}

## 게시물 댓글 삭제

<mark style="color:red;">`DELETE`</mark> `https://Yeollin-jib/comment/:commentId`

댓글 아이디로 댓글 삭제

#### Path Parameters

| Name                                        | Type    | Description |
| ------------------------------------------- | ------- | ----------- |
| commentId<mark style="color:red;">\*</mark> | Integer |             |

#### Headers

| Name                                            | Type   | Description |
| ----------------------------------------------- | ------ | ----------- |
| Authorization<mark style="color:red;">\*</mark> | String |             |

{% tabs %}
{% tab title="200: OK 댓글 삭제 성공" %}
![](https://1863515620-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FB1Q97Frgb6lsOVPvauMx%2Fuploads%2FkvYzwkmzd2tBs29F8udI%2F%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202021-10-27%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%201.48.36.png?alt=media\&token=5dfa8ea8-99c5-49d4-af2a-111a3f2679ec)

```javascript
{
    "message": "댓글이 성공적으로 삭제되었습니다."
}
```

{% endtab %}

{% tab title="403: Forbidden 삭제 권한 없음" %}

```javascript
{
    "message": "삭제할 권한이 없습니다."
}
```

{% endtab %}

{% tab title="501: Not Implemented 서버 에러" %}

```javascript
{ "message": "서버 에러 입니다." }
```

{% endtab %}
{% endtabs %}
