http://localhost:3000
-
URL's
/users/register
-
URL Params
- Require :
none
- Optional :
none
- Require :
-
Data Params
- Require :
username: [string]
,email: [string]
,password: [string]
- Optional :
address: [string]
- Require :
-
Headers
- Require :
none
- Require :
-
HTTP Method
POST
-
Success Response
-
Code : 200 OK
-
Content :
{ "id": "5deb5c620d5e4fe559769076", "username": "sukmabrahmantya", "email": "[email protected]" }
-
-
Error Response
-
Validation Username
-
Code : 422 Unprocessable Entity
-
Content :
{ "message": "User validation failed: username: Username cannot be empty!" }
-
-
Validation Password
-
Code : 422 Unprocessable Entity
-
Content :
{ "message": "User validation failed: password: Password cannot be empty!" }
-
-
Validation Email
-
Code : 422 Unprocessable Entity
-
Content :
{ "message": "User validation failed: email: Email cannot be empty!" }
-
-
Validation Unique Email
-
Code : 422 Unprocessable Entity
-
Content :
{ "message": "User validation failed: email: Email is available!" }
-
-
-
Sample Call
axios .post("users/register", { email: this.email, password: this.password, username: this.username })
-
URL's
/users/login
-
URL Params
- Require :
none
- Optional :
none
- Require :
-
Data Params
- Require :
email: [string]
,password: [string]
- Optional :
none
- Require :
-
Headers
- Require :
none
- Require :
-
HTTP Method
POST
-
Success Response
-
Code : 200 OK
-
Content :
{ "id": "5deb5c620d5e4fe559769076", "username": "sukmabrahmantya", "email": "[email protected]", "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjVkZWI1YzYyMGQ1ZTRmZTU1OTc2OTA3NiIsImlhdCI6MTU3NTcwNTg4Mn0.Sgu7V9gBBiNrCh8KKiLVNDtb25Qtzk_MkQUtzkaO0ng" }
-
-
Error Response
-
Validation Passwords and Users do not Match
-
Code : 400 Bad Request
-
Content :
{ "message": "Password / Username is wrong" }
-
-
Validation User has not Registered
-
Code : 400 Bad Request
-
Content :
{ "message": "Password / Username is wrong" }
-
-
-
Sample Call
axios .post("users/login", { email: this.form.email, password: this.form.password }) .then(({ data }) => { localStorage.setItem("token", data.token); this.$emit("islogin", true); }) .catch(err => { console.log(err.response.data); });
-
URL's
/articles/
-
URL Params
- Require :
none
- Optional :
none
- Require :
-
Data Params
- Require :
title: [string]
- Optional :
content: [string]
- Require :
-
Headers
- Require :
token: [string]
- Require :
-
HTTP Method
POST
-
Success Response
-
Code : 201 Created
-
Content :
{ "status": "created", "_id": "5deb63ef79bc70ecf6c84da9", "title": "Article Title", "content": "Article content", "created_at": "2019-12-07T08:33:51.854Z", "userId": "5deb5c620d5e4fe559769076", "__v": 0 }
-
-
Error Response
-
Validation Title
-
Code : 422 Unprocessable Entity
-
Content :
{ "message": "Article validation failed: title: Title cannot be empty!" }
-
-
Authentication User
-
Code : 401 Unauthorized
-
Content :
{ "message": "Invalid Access Token" }
-
-
-
Sample Call
axios .post("articles", { title: this.title, content: this.myHTML, image: this.image }, { headers: { token: localStorage.getItem("token") } } ) .then(({ data }) => { this.$emit("created"); }) .catch(err => { console.log(err.response.data); });
-
URL's
/articles/
-
URL Params
- Require :
none
- Optional :
title: [string]
,status: [string]
- Require :
-
Data Params
- Require :
none
- Optional :
none
- Require :
-
Headers
- Require :
token: [string]
- Require :
-
HTTP Method
GET
-
Success Response
-
Code : 200 OK
-
Content :
[ { "status": "created", "_id": "5deb63ef79bc70ecf6c84da9", "title": "Article Title", "content": "Article content", "created_at": "2019-12-07T08:33:51.854Z", "userId": "5deb5c620d5e4fe559769076", "__v": 0 }, { "status": "pending", "_id": "5deb63db79bc70ecf6c84da8", "title": "Article Title", "content": "Article content", "created_at": "2019-12-07T08:33:31.414Z", "userId": "5deb5c620d5e4fe559769076", "__v": 0 },
-
-
Error Response
-
Authentication User
-
Code : 401 Unauthorized
-
Content :
{ "message": "Invalid Access Token" }
-
-
-
Sample Call
getArticle() { axios .get("users/articles", { headers: { token: localStorage.getItem("token") } }) .then(({ data }) => { this.articles = data; }) .catch(err => { console.log(err.response); });
-
URL's
/articles/:id
-
URL Params
- Require :
id: [integer]
- Optional :
none
- Require :
-
Data Params
- Require :
none
- Optional :
title: [string]
,content: [string]
,status: [string]
- Require :
-
Headers
- Require :
token: [string]
- Require :
-
HTTP Method
PUT
-
Success Response
-
Code : 200 OK
-
Content :
{ "status": "created", "_id": "5deb63ef79bc70ecf6c84da9", "title": "Updated title", "content": "updated content", "created_at": "2019-12-07T08:33:51.854Z", "userId": "5deb5c620d5e4fe559769076", "__v": 0 }
-
-
Error Response
-
Authentication User
-
Code : 401 Unauthorized
-
Content :
{ "message": "Invalid Access Token" }
-
-
-
Sample Call
-
URL's
/articles/:id
-
URL Params
- Require :
id: [integer]
- Optional :
none
- Require :
-
Data Params
- Require :
none
- Optional :
none
- Require :
-
Headers
- Require :
token: [string]
- Require :
-
HTTP Method
DELETE
-
Success Response
-
Code : 200 OK
-
Content :
{ "status": "created", "_id": "5deb63ef79bc70ecf6c84da9", "title": "Deleted article", "content": "Deleted article", "created_at": "2019-12-07T08:33:51.854Z", "userId": "5deb5c620d5e4fe559769076", "__v": 0 }
-
-
Error Response
-
Authentication User
-
Code : 401 Unauthorized
-
Content :
{ "message": "Invalid Access Token" }
-
-
-
Sample Call
axios .delete(`articles/${val._id}`, { headers: { token: localStorage.getItem("token") } }) .then(({ data }) => { this.getArticle(); }) .catch(err => { console.log(err.response); });