ChuCooBlog API docs
====
測試用 API Server:
- `https://richegg.top` by richegg (PHP)
- 帳號:`test1`
- 密碼:`test123`
- `https://moli.rocks:774` by yy (Node)
- 帳號:`admin`
- 密碼:`123456`
## Data Model
### Author
```json
{
"username": (string),
"name": (string),
"gender": (string f, m, o),
"address": (string)
}
```
### Post
```json
{
"id": (number),
"title": (string),
"content": (string),
"created_at": (datetime string ISO-8601),
"updated_at": (datetime string ISO-8601),
"author": (Author object),
"tags": (string array)
}
```
## 功能
- 登入
- 取得某使用者資料
- 修改某使用者資料
- 取得文章列表
- 取得某篇文章
- 新增文章
- 修改文章
- 刪除文章
## API
### 登入
POST `/login`
#### Request
```json
{
"username": (string),
"password": (string)
}
```
#### Res
##### 200 (ok)
Author object
**範例**
POST `/login`
```json
{
"username": 'yuer',
"name": 'Yuer Lee',
"gender": 'm',
"address": '南投縣埔里鎮大學路1號'
}
```
### 確認登入狀態
GET `/login`
#### Request
none
#### Res
##### 200 (ok)
Author object
**範例**
GET `/login`
```json
{
"username": 'yuer',
"name": 'Yuer Lee',
"gender": 'm',
"address": '南投縣埔里鎮大學路1號'
}
```
### 取得某使用者資料
GET `/authors/:id`
#### Request
none
#### Res
##### 200
Author object
**範例**
GET `/authors/yuer`
```json
{
"username": 'yuer',
"name": 'Yuer Lee',
"gender": 'm',
"address": '南投縣埔里鎮大學路1號'
}
```
### 修改某使用者資料
PATCH `/authors/:id`
#### Request
```json
{
"password": (string),
"name": (string),
"gender": (string f, m, o),
"address": (string)
}
```
#### Res
##### 200
Author object
**範例**
PATCH `/authors/yuer`
```json
{
"username": 'yuer',
"name": 'Yuer Lee',
"gender": 'm',
"address": '南投縣埔里鎮大學路1號'
}
```
### 取得文章列表
GET `/posts`
#### Request
none
#### Res
##### 200
Post object array
**範例**
GET `/posts`
```json
[
{
"id": 1,
"title": '我來我見我吃飯',
"content": '此地共至也推門中特感子那位?決絕自時感,著到驗從背教成食、長雨為,連爸令的源,招風入在洋成青希,樹魚美,體海親雲,地價面南。受變時的類人了高落;件前綠果什大求身院,難每品供感候坐我家語熱體近落一發。過也完省情無東品這近的受論,差象提美英那。香水來組戰香不!教海到保,立委明呢!快到只本難前議發圖如何化笑次過部放大師就雙看過望小:說受子電子考建學於三。',
"created_at": '2017-06-16T06:25:08+00:00',
"updated_at": '2017-06-16T06:25:08+00:00',
"author": {
"username": 'yuer',
"name": 'Yuer Lee',
"gender": 'm',
"address": '南投縣埔里鎮大學路1號'
},
"tags": ['至理名言', '短文集']
}
]
```
### 取得某篇文章
GET `/posts/:id`
#### Request
none
#### Res
##### 200
Post object
**範例**
GET `/posts/1`
```json
{
"id": 1,
"title": '我來我見我吃飯',
"content": '此地共至也推門中特感子那位?決絕自時感,著到驗從背教成食、長雨為,連爸令的源,招風入在洋成青希,樹魚美,體海親雲,地價面南。受變時的類人了高落;件前綠果什大求身院,難每品供感候坐我家語熱體近落一發。過也完省情無東品這近的受論,差象提美英那。香水來組戰香不!教海到保,立委明呢!快到只本難前議發圖如何化笑次過部放大師就雙看過望小:說受子電子考建學於三。',
"created_at": '2017-06-16T06:25:08+00:00',
"updated_at": '2017-06-16T06:25:08+00:00',
"author": {
"username": 'yuer',
"name": 'Yuer Lee',
"gender": 'm',
"address": '南投縣埔里鎮大學路1號'
},
"tags": ['至理名言', '短文集']
}
```
### 新增文章
POST `/posts`
#### Request
```json
{
"title": (string),
"content": (string),
"tags": (string array)
}
```
#### Res
##### 201
Post object
**範例**
POST `/posts`
```json
{
"id": 1,
"title": '我來我見我吃飯',
"content": '此地共至也推門中特感子那位?決絕自時感,著到驗從背教成食、長雨為,連爸令的源,招風入在洋成青希,樹魚美,體海親雲,地價面南。受變時的類人了高落;件前綠果什大求身院,難每品供感候坐我家語熱體近落一發。過也完省情無東品這近的受論,差象提美英那。香水來組戰香不!教海到保,立委明呢!快到只本難前議發圖如何化笑次過部放大師就雙看過望小:說受子電子考建學於三。',
"created_at": '2017-06-16T06:25:08+00:00',
"updated_at": '2017-06-16T06:25:08+00:00',
"author": {
"username": 'yuer',
"name": 'Yuer Lee',
"gender": 'm',
"address": '南投縣埔里鎮大學路1號'
},
"tags": ['至理名言', '短文集']
}
```
##### error
```json
{
"message" (string)
}
```
### 修改文章
PATCH `/posts/:id`
#### Request
```json
{
"title": (string),
"content": (string),
"tags": (string array)
}
```
#### Res
##### 200
Post object
**範例**
PATCH `/posts/1`
```json
{
"id": 1,
"title": '我來我見我吃飯',
"content": '此地共至也推門中特感子那位?決絕自時感,著到驗從背教成食、長雨為,連爸令的源,招風入在洋成青希,樹魚美,體海親雲,地價面南。受變時的類人了高落;件前綠果什大求身院,難每品供感候坐我家語熱體近落一發。過也完省情無東品這近的受論,差象提美英那。香水來組戰香不!教海到保,立委明呢!快到只本難前議發圖如何化笑次過部放大師就雙看過望小:說受子電子考建學於三。',
"created_at": '2017-06-16T06:25:08+00:00',
"updated_at": '2017-06-16T06:25:08+00:00',
"author": {
"username": 'yuer',
"name": 'Yuer Lee',
"gender": 'm',
"address": '南投縣埔里鎮大學路1號'
},
"tags": ['至理名言', '短文集']
}
```
### 刪除文章
DELETE `/posts/:id`
#### Request
none
#### Res
##### 200
```json
{
"remain": (number)
}
```