You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: astro/src/content/docs/en/4x/guide/routing.md
+21-21Lines changed: 21 additions & 21 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,12 +6,12 @@ description: Learn how to define and use routes in Express.js applications, incl
6
6
# Routing
7
7
8
8
_Routing_ refers to how an application's endpoints (URIs) respond to client requests.
9
-
For an introduction to routing, see [Basic routing](/{{ page.lang }}/starter/basic-routing.html).
9
+
For an introduction to routing, see [Basic routing](/starter/basic-routing.html).
10
10
11
11
You define routing using methods of the Express `app` object that correspond to HTTP methods;
12
12
for example, `app.get()` to handle GET requests and `app.post` to handle POST requests. For a full list,
13
-
see [app.METHOD](/{{ page.lang }}/5x/api.html#app.METHOD). You can also use [app.all()](/{{ page.lang }}/5x/api.html#app.all) to handle all HTTP methods and [app.use()](/{{ page.lang }}/5x/api.html#app.use) to
14
-
specify middleware as the callback function (See [Using middleware](/{{ page.lang }}/guide/using-middleware.html) for details).
13
+
see [app.METHOD](/api/application/app-METHOD). You can also use [app.all()](/api/application/app-all) to handle all HTTP methods and [app.use()](/api/application/app-use) to
14
+
specify middleware as the callback function (See [Using middleware](/guide/using-middleware.html) for details).
15
15
16
16
These routing methods specify a callback function (sometimes called "handler functions") called when the application receives a request to the specified route (endpoint) and HTTP method. In other words, the application "listens" for requests that match the specified route(s) and method(s), and when it detects a match, it calls the specified callback function.
17
17
@@ -50,7 +50,7 @@ app.post('/', (req, res) => {
50
50
```
51
51
52
52
Express supports methods that correspond to all HTTP request methods: `get`, `post`, and so on.
53
-
For a full list, see [app.METHOD](/{{ page.lang }}/5x/api.html#app.METHOD).
53
+
For a full list, see [app.METHOD](/api/application/app-METHOD).
54
54
55
55
There is a special routing method, `app.all()`, used to load middleware functions at a path for _all_ HTTP request methods. For example, the following handler is executed for requests to the route `"/secret"` whether using `GET`, `POST`, `PUT`, `DELETE`, or any other HTTP request method supported in the [http module](https://nodejs.org/api/http.html#http_http_methods).
Route paths, in combination with a request method, define the endpoints at which requests can be made. Route paths can be strings, string patterns, or regular expressions.
67
67
68
-
{% capture caution-character %} In express 5, the characters `?`, `+`, `*`, `[]`, and `()` are handled differently than in version 4, please review the [migration guide](/{{ page.lang }}/guide/migrating-5.html#path-syntax) for more information.{% endcapture %}
68
+
{% capture caution-character %} In express 5, the characters `?`, `+`, `*`, `[]`, and `()` are handled differently than in version 4, please review the [migration guide](/guide/migrating-5.html#path-syntax) for more information.{% endcapture %}
69
69
70
70
{% include admonitions/caution.html content=caution-character %}
{% capture caution-string-patterns %} The string patterns in Express 5 no longer work. Please refer to the [migration guide](/{{ page.lang }}/guide/migrating-5.html#path-syntax) for more information.{% endcapture %}
121
+
{% capture caution-string-patterns %} The string patterns in Express 5 no longer work. Please refer to the [migration guide](/guide/migrating-5.html#path-syntax) for more information.{% endcapture %}
122
122
123
123
{% include admonitions/caution.html content=caution-string-patterns %}
In express 5, Regexp characters are not supported in route paths, for more information please refer to the [migration guide](/{{ page.lang }}/guide/migrating-5.html#path-syntax).{% endcapture %}
212
+
In express 5, Regexp characters are not supported in route paths, for more information please refer to the [migration guide](/guide/migrating-5.html#path-syntax).{% endcapture %}
213
213
214
214
{% include admonitions/caution.html content=warning-regexp %}
215
215
@@ -239,7 +239,7 @@ In Express 4.x, <a href="https://github.com/expressjs/express/issues/2495">the `
239
239
240
240
<h2id="route-handlers">Route handlers</h2>
241
241
242
-
You can provide multiple callback functions that behave like [middleware](/{{ page.lang }}/guide/using-middleware.html) to handle a request. The only exception is that these callbacks might invoke `next('route')` to bypass the remaining route callbacks. You can use this mechanism to impose pre-conditions on a route, then pass control to subsequent routes if there's no reason to proceed with the current route.
242
+
You can provide multiple callback functions that behave like [middleware](/guide/using-middleware.html) to handle a request. The only exception is that these callbacks might invoke `next('route')` to bypass the remaining route callbacks. You can use this mechanism to impose pre-conditions on a route, then pass control to subsequent routes if there's no reason to proceed with the current route.
243
243
244
244
```js
245
245
app.get('/user/:id', (req, res, next) => {
@@ -334,22 +334,22 @@ app.get(
334
334
335
335
The methods on the response object (`res`) in the following table can send a response to the client, and terminate the request-response cycle. If none of these methods are called from a route handler, the client request will be left hanging.
|[res.download()](/{{ page.lang }}/5x/api.html#res.download) | Prompt a file to be downloaded. |
340
-
|[res.end()](/{{ page.lang }}/5x/api.html#res.end) | End the response process. |
341
-
|[res.json()](/{{ page.lang }}/5x/api.html#res.json) | Send a JSON response. |
342
-
|[res.jsonp()](/{{ page.lang }}/5x/api.html#res.jsonp) | Send a JSON response with JSONP support. |
343
-
|[res.redirect()](/{{ page.lang }}/5x/api.html#res.redirect) | Redirect a request. |
344
-
|[res.render()](/{{ page.lang }}/5x/api.html#res.render) | Render a view template. |
345
-
|[res.send()](/{{ page.lang }}/5x/api.html#res.send) | Send a response of various types. |
346
-
|[res.sendFile()](/{{ page.lang }}/5x/api.html#res.sendFile) | Send a file as an octet stream. |
347
-
|[res.sendStatus()](/{{ page.lang }}/5x/api.html#res.sendStatus) | Set the response status code and send its string representation as the response body. |
|[res.download()](/api/response/res-download)| Prompt a file to be downloaded. |
340
+
|[res.end()](/api/response/res-end)| End the response process. |
341
+
|[res.json()](/api/response/res-json)| Send a JSON response. |
342
+
|[res.jsonp()](/api/response/res-jsonp)| Send a JSON response with JSONP support. |
343
+
|[res.redirect()](/api/response/res-redirect)| Redirect a request. |
344
+
|[res.render()](/api/response/res-render)| Render a view template. |
345
+
|[res.send()](/api/response/res-send)| Send a response of various types. |
346
+
|[res.sendFile()](/api/response/res-sendfile)| Send a file as an octet stream. |
347
+
|[res.sendStatus()](/api/response/res-sendstatus)| Set the response status code and send its string representation as the response body. |
348
348
349
349
<h2id="app-route">app.route()</h2>
350
350
351
351
You can create chainable route handlers for a route path by using `app.route()`.
352
-
Because the path is specified at a single location, creating modular routes is helpful, as is reducing redundancy and typos. For more information about routes, see: [Router() documentation](/{{ page.lang }}/5x/api.html#router).
352
+
Because the path is specified at a single location, creating modular routes is helpful, as is reducing redundancy and typos. For more information about routes, see: [Router() documentation](/api.html#router).
353
353
354
354
Here is an example of chained route handlers that are defined by using `app.route()`.
355
355
@@ -410,7 +410,7 @@ app.use('/birds', birds);
410
410
411
411
The app will now be able to handle requests to `/birds` and `/birds/about`, as well as call the `timeLog` middleware function that is specific to the route.
412
412
413
-
But if the parent route `/birds` has path parameters, it will not be accessible by default from the sub-routes. To make it accessible, you will need to pass the `mergeParams` option to the Router constructor [reference](/{{ page.lang }}/5x/api.html#app.use).
413
+
But if the parent route `/birds` has path parameters, it will not be accessible by default from the sub-routes. To make it accessible, you will need to pass the `mergeParams` option to the Router constructor [reference](/api/application/app-use).
0 commit comments