Skip to content

mattcbodily/node-two

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Node Two

In this lecture we talk about Top Level Middleware, Using Postman, and using Axios in our API.

Examples can be found inside the .js files of this repo.

Top Level Middleware

Top Level Middleware is the term we use to refer to some logic that will be executed upon every request that is made to our API.

We can set up that logic inside of the built method .use() that comes from the object that is return from invoking express.

app.use(/* some function to execute here */);

Req Body

Sometimes we need to send some complex data to our API. Using the req.query or req.params just might not be sufficient enough to use to send this data. This is where the body comes into play.

req.body is the object we can use to receive the complex data. However, the data that comes from the body of the request is received as JSON so we need to parse it into a Javascript Object.

We can do this by using a special function from express called express.json(). This function will parse the JSON that comes as the body from the request and turn it into a useable object for us.

We want to invoke this function as Top Level Middleware so that it is invoked upon every connection made to our API.

We will pass it into our app.use() function to run it as top level middleware.

app.use(express.json());

CORS

CORS stands for Cross Origin Resource Sharing. This is a security protocol that we can use to safely allow other origins talk to our origin. This means that we can make a request from one server to another server.

We first need to install CORS as a dependency for our project. In the terminal, run:

$ npm install cors

Then require it at the top of the index.js file for our API.

const cors = require('cors')

Then we need this function to be invoked as top level middleware.

app.use(cors())

Now your API is setup to follow the CORS protocol.

Postman

Postman is a suite that we can use to act as a client to interact with the API that we build.

The browser, by default, will only let us make get requests from the URL. So we can use postman to test out a full CRUD API.

Full CRUD API

So far we have built an API that has only allowed get requests to be made. We need to also allow post, put, and delete requests to be made to become a full CRUD API.

POST:

app.post('path for the endpoint', handlerFunc)

PUT:

app.put('path for the endpoint', handlerFunc)

DELETE:

app.delete('path for the endpoint', handlerFunc)

We now have a "fully functional" API because we are following the full CRUD pattern.

Controller

A controller is what we can use to store all of our functions that we use to handle the requests being made.

We usually will create a separate javascript file that will hold the controller functions.

About

Notes for the Node Two lecture

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 100.0%