This is a Node/Express/MongoDB REST API for contacts that uses JWT authentication. All contact endpoints are protected and each registered user has their own contacts. This is used in my React course on Udemy. It is the API ONLY. The fullstack app can be found here
Open the config/default.json file and add your mongoURI and your jwtSecret
npm install
npm run server # Runs on http://localhost:5000
Request: Add user and request JSON web token
Headers
Content-type: application/json
Body
{
"name": "",
"email": "",
"password": ""
}
Response: 200 (application/json)
Body
{ "token": "" }
Request: Login with credentials to recieve a JSON web token
Headers
Content-type: application/json
Body
{
"email": "",
"password": ""
}
Response: 200 (application/json)
Body
{ "token": "" }
Request: Get all contacts of a specific user
Headers
x-auth-token: YOURJWT
Response: 200 (application/json)
Body
{ "contacts": [] }
Request: Add a new contact
Headers
x-auth-token: YOURJWT Content-type: application/json
Body
{
"name": "",
"email": "",
"phone": "",
"type": "" [personal or professional]
}
Response: 200 (application/json)
Body
{ "contact": {} }
Request: Update existing contact
Parameters
id: 1 (number) - An unique identifier of the contact.
Headers
x-auth-token: YOURJWT Content-type: application/json
Body
{
"name": "",
"email": "",
"phone": "",
"type": "" [personal or professional]
}
Response: 200 (application/json)
Body
{ "contact": {} }
Request: Delete existing contact
Parameters
id: 1 (number) - An unique identifier of the contact.
Headers
x-auth-token: YOURJWT
Response: 200 (application/json)
Body
{ "msg": "Contact removed" }