The core part of an Express app is the Application object. It’s the application itself.
In this piece, we’ll look at the methods of the app
object and what we can do with it.
app.METHOD(path, callback [, callback …])
This method routes an HTTP request. METHOD
is a placeholder for various routing methods that Express supports.
It takes the following arguments:
path
— It can be a string or regex representing paths or patterns of paths. The default is/
.callback
— a function to handle requests. It can be a middleware function, a series of them, array of them, or a combination of all of the above.
The following routing methods are supported by Express:
checkout
copy
delete
get
head
lock
merge
mkactivity
mkcol
move
m-search
notify
options
patch
post
purge
put
report
search
subscribe
trace
unlock
unsubscribe
All methods take the same arguments and work exactly the same way. So app.get
and app.unlock
are the same.
app.param([name], callback)
app.param
adds callback triggers for route parameters. name
is the parameter or an array of them. callback
is a callback function.
The parameters of the callback are the request object, response object, next middleware function, the value of the parameter, and the name of the parameter in the given order.
For example, we can use it as follows:
The code above will get the id
URL parameter when it exists with the app.param
callback.
Then in the callback, we get id
to req.id
and call next
to call our route handler in app.get
.
Then we call res.send(req.id);
to send the response with req.id
, which we set earlier.
Note that id
in app.param
has to match :id
with the route handlers.
We can pass in an array of parameters that we want to watch for:
Then if we make a request for /1/foo
, we’ll get 1
and foo
one at a time as the value of the value
parameter.
app.path()
app.path
returns the path of mounted apps as a string.
For example, we can use it as follows:
Then we get ''
for app.path()
, '/foo'
for foo.path()
, and '/foo/bar'
for bar.path()
since we mounted foo
to app
and bar
to foo
.
<img class="s t u hh ai" src="https://miro.medium.com/max/6438/0*hC4qa3eKTWD_g_hs" width="3219" height="4836" srcSet="https://miro.medium.com/max/552/0*hC4qa3eKTWD_g_hs 276w, https://miro.medium.com/max/1104/0*hC4qa3eKTWD_g_hs 552w, https://miro.medium.com/max/1280/0*hC4qa3eKTWD_g_hs 640w, https://miro.medium.com/max/1400/0*hC4qa3eKTWD_g_hs 700w" sizes="700px" role="presentation"/>
Photo by Bundo Kim on Unsplash.
app.post(path, callback [, callback …])
We can use the app.post
method to handle POST requests with the given path
by passing in a callback
route handler.
It takes the following arguments:
path
— It can be a string or regex representing paths or patterns of paths. The default is/
.callback
— a function to handle requests. It can be a middleware function, a series of them, array of them, or a combination of all of the above.
For example, we can use it as follows:
Then when we make a POST request with a client like Postman, we should see “POST request made.”
app.put(path, callback [, callback …])
We can use the app.put
method to handle PUT requests with the given path
by passing in a callback
route handler.
It takes the following arguments:
path
— It can be a string or regex representing paths or patterns of paths. The default is/
.callback
— a function to handle requests. It can be a middleware function, a series of them, array of them, or a combination of all of the above.
For example, we can use it as follows:
Then when we make a PUT request with a client like Postman, we should see “PUT request made.”
Conclusion
We can intercept the parameters sent from requests with the app.params
method.
To listen to POST requests, we can use the app.post
method. To listen to PUT requests, we can use the app.put
method.
app.path
lets us get the path of mounted apps.
app
also has a long list of methods for listening to all kinds of requests.