一、路由
在应用程序中定义一个路由用来和用户发送的请求的地址和方法进行匹配,如果两者都相等,匹配成功,如果匹配成功,使用路由对应的处理函数给予本次请求响应。如果没有匹配成功,说明程序中没有定义的路由,因此给予404的响应。
路由是为了多页面的应用程序。
在fastify中预置了很多fastify实例方法(路由方法)
定义路由:
1.完整定义
2.简写定义
二、完整定义
fastify.route(options)
options参数描述:
1.method:支持的 HTTP 请求方法。
目前支持 'DELETE'、'GET'、'HEAD'、'PATCH'、'POST'、'PUT' 以及 'OPTIONS'。它还可以是一个 HTTP 方法的数组。
2.url:路由匹配的 URL 路径 (别名:path)。
3.handler(request, reply):处理请求的函数。函数被调用时,Fastify server 将会与 this 进行绑定。注意,使用箭头函数会破坏这一绑定。
request请求对象:包含客户端请求的信息对象
reply响应对象:包含给与客户端请求响应的相关方法

其他参数参考官网Routes | Fastify 中文网
我们通过下边新定义的路由进代码行演示
1)在路由文件夹下新建立一个js文件(新路由实例)
2)写入代码
- 'use strict'
-
- module.exports = async function (fastify, opts) {
- fastify.route(
- {
- method:'GET',
- url:'/api',
- handler:async (request,reply)=>{
-
- return {code:200,msg:'成功获取数据'}
- }
- }
- );
- }
注意代码中的请求方式必须是全大写,(可以通过字符串的toUpperCase()方法进行转换)
然后运行之后在指定地址就可以获取数据了

另外,浏览器只支持GET请求的,所以我们需要用软件Apipost匹配其他请求方式的数据。
三、简写定义(常用get put post delete)
fastify.get(path, [options], handler)定义一个请求方法为"GET"请求fastify.head(path, [options], handler)定义一个请求方法为"HEAD"请求fastify.post(path, [options], handler)定义一个请求方法为"POST"请求fastify.put(path, [options], handler)定义一个请求方法为"PUT"请求fastify.delete(path, [options], handler)定义一个请求方法为"DELETE"请求fastify.options(path, [options], handler)定义一个请求方法为"OPTIONS"请求fastify.patch(path, [options], handler)定义一个请求方法为"PATCH"请求
