---
# System prepended metadata

title: '`DELETE` /api/followships/:followingId'
tags: [API-doc]

---

# `DELETE` /api/followships/:followingId  

## API 功能  
刪除一筆追蹤紀錄(取消追蹤)。  
* 登入者必須是 user。  
* 回傳刪除的追蹤關係紀錄。  

## 邏輯分析(後端看的)  
:::spoiler 運作邏輯
1. 新增者必須登入且身分是 user  
2. 檢查傳入資料(是否為空值?)  
3. 資料庫搜尋(若找不到則回傳錯誤訊息)  
5. 刪除追蹤紀錄。  
:::

:::spoiler [測試檔 pass](https://github.com/ritachien/twitter-api-2022/blob/main/test/requests/followship.spec.js#L93-L107)  
:::

:::spoiler 人工測試(1/1)
- [x] 刪除成功回傳成功訊息。  
:::


## 前端傳入資料  
### parameters  
|name|description|
|---|---|
|`followingId`| 被追蹤的 user `id` |

### req.body  
None  

## 後端回傳資料  
### 驗證成功  
```javascript
// status code: 200
{
    "status": "success",
    "message": "Stop following"
}
```
### 傳入資料格式有誤  
發生原因: 檢查後發現任一欄位為空。
```json
// status code: 400
{
    "status": "error",
    "message": "followerId and followingId required"
}
```
### 檢查失敗  
發生原因: 在資料庫中找不到對應的 follwingId 。
```javascript
// status code: 401
{
    "status": "error",
    "message": "Follower or following not exists.。
"
}
```

發生原因: 還沒有追蹤，無法取消。
```javascript
// status code: 401
{
    "status": "error",
    "message": "Not followed yet"
}
```



## 相關連結  
* [回首頁](https://hackmd.io/@twitter-2022/index)  
* [API 總表](/Gl56cI2LQ5ObBpmQnbnphw)

###### tags: `API-doc`