Web Url : http://miniwp.mputong.com/
API-BASE-URL: http://35.184.99.60:3000
List of available endpoints:
POST /articles
GET /articles
GET /articles/:title
DELETE /articles/:id
PUT /articles/:id
POST /authors
POST /authors/login
POST /authors/login/oauth/:googleToken
GET /authors
{
"message": "..."
}
- Request Header(s):
Content-Type
:application/x-www-form-urlencoded
Authorization
:token <jwt token>
- Request Body:
title: { type: String, required: true, unique: true, minlength: 10, maxlength: 100 }
tags: [{ type: String, required: true, minlength: 3, maxlength: 15 }],
content: { type: String/ html, required: true, minlength: 100, maxlength: 50000 }
featured_image: { file }
- Response:
status
:201
details
:{ "message": "...", "details": { "tags": [ "...", "..." ], "_id": "...", "title": "...", "author": "...", "content": "...", "featured_image": "...", "created_at": "...", "__v": 0 } }
- Request Header(s):
Authorization
:token <jwt token>
- Response:
status
:200
details
:[{ "tags": [ "...", "..." ], "_id": "...", "title": "...", "author": { "_id": "...", "name": "..." }, "content": "...", "featured_image": "...", "created_at": "...", "__v": 0 }]
- Request Header(s):
Authorization
:token <jwt token>
- Response:
status
:200
details
:[{ "tags": [ "...", "..." ], "_id": "...", "title": "...", "author": { "_id": "...", "name": "..." }, "content": "...", "featured_image": "...", "created_at": "...", "__v": 0 }]
- Request Header(s):
Authorization
:token <jwt token>
- Response:
status
:200
details
:{ "message": "...", "details": { "tags": [ "...", "..." ], "_id": "...", "title": "...n", "author": "...", "content": "...", "featured_image": "...", "created_at": "...", "__v": 0 } }
- Request Header(s):
Content-Type
:application/x-www-form-urlencoded
Authorization
:token <jwt token>
- Request Body:
title: { type: String, required: true, unique: true, minlength: 10, maxlength: 100 }
tags: [{ type: String, required: true, minlength: 3, maxlength: 15 }],
content: { type: String/ html, required: true, minlength: 100, maxlength: 50000 }
featured_image: { file }
- Response:
status
:201
details
:{ "message": "...", "details": { "n": 1, "nModified": 1, "opTime": { "ts": "...", "t": 5 }, "electionId": "...", "ok": 1, "$clusterTime": { "clusterTime": "...", "signature": { "hash": "...", "keyId": "..." } }, "operationTime": "..." } }
- Request Header(s):
Content-Type
:application/x-www-form-urlencoded
orapplication/json
- Request Body:
name: { type: String, required: true, minlength: 5, maxlength: 30 }
email: [{ type: String, required: true, unique: true }],
password: { type: String, required: true, minlength: 8, }
- Response:
status
:201
details
:{ "message": "...", "token": "..." }
- Request Header(s):
Content-Type
:application/x-www-form-urlencoded
orapplication/json
- Request Body:
email: [{ type: String, required: true, unique: true }],
password: { type: String, required: true, minlength: 8, }
- Response:
status
:200
details
:{ "message": "...", "token": "..." }
- Request Header(s):
Content-Type
:application/x-www-form-urlencoded
orapplication/json
- Request Body:
email: [{ type: String, required: true, unique: true }],
password: { type: String, required: true, minlength: 8, }
- Response:
status
:200
or201
details
:{ "message": "...", "token": "..." }
- Request Header(s):
Authorization
:token <jwt token>
- Response:
status
:200
details
:{ "message": "...", "details": { "_id": "...", "name": "...", "email": "...", "password": "...", "__v": 0 } }