返回顶部
首页 > 资讯 > 精选 >nuxt3中的server routes如何使用
  • 550
分享到

nuxt3中的server routes如何使用

2023-06-30 15:06:09 550人浏览 八月长安
摘要

这篇“nuxt3中的server routes如何使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“nuxt3中的

这篇“nuxt3中的server routes如何使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“nuxt3中的server routes如何使用”文章吧。

nuxt3在后端服务器这块引入了Nitro框架,感兴趣的朋友可以移步到官方网站进行了解和学习,个人感觉类似nodejs框架里面的express 和 koa吧,只是可能更轻量吧。

在创建api之前,我们首先需要在根目录下创建一个server 目录,nuxt3会自动检索目录中的api目录,routes目录以及middleware目录,并根据这些目录里面的文件名自动创建对应的api。

比如我们想要创建一个api/hello的api,首先我们需要在server 目录下创建api目录,并且在api目录下创建一个名为hello.ts。

// server/api/hello.tsexport default defineEventHandler((event) => {  return {    api: 'works'  }})

注意:每个文件都需要导出一个默认的命名为defineEventHandler的函数,这样我们在代码中就可以通过 await $fetch('/api/hello')这种方式进行调用了。通过defineEventHandler可以返回JSON格式的数据,也可以返回一个Promise,也可以直接使用event.res.end()进行返回。

通过在server/api目录下创建文件的方式,nuxt会自动生成/api/filename 这样的访问路径,如果我们在开发过程中不想使用/api/filename这样的访问路径,而是希望可以直接通过 /filename这种的文件路径,那么我们可以在server目录下创建routes目录,并且在该目录下创建对应的文件即可。

// server/routes/hello.tsexport default defineEventHandler(() => 'Hello World!')

此时我们就可以直接使用await $fetch('/hello')进行访问了,是不是很方便?

如果想在nuxt3中使用中间件,那么我们需要在server目下下创建middleware目录,并将自己创建的中间件文件放置在该目录下

中间件处理程序,会应用在每一个api路由之前,它可以用来增加路由检测、增加请求header信息或者记录请求日志,也可以用来扩展event请求对应

// server/middleware/log.tsexport default defineEventHandler((event) => {  console.log('New request: ' + event.req.url) // 打印请求日志})// server/middleware/auth.tsexport default defineEventHandler((event) => {  event.context.auth = { user: 123 } // 扩展event上下文})

匹配路由参数

server routes 可以处理动态路由,在文件名中间使用中括号的方式,这点儿和前端动态路由类似,比如server/api/hello-[name].ts,访问动态路由参数可以通过event.context.params对象进行访问。

export default defineEventHandler(event => `Hello, ${event.context.params.name}!`)

代码中就可以通过$fetch('/api/hello/nuxt')这种方式进行调用了

以上方式创建的路由默认都是get方式进行访问,如果我们想要创建post,put,delete等方式的请求处理函数应该怎么操作呢?

Http方法匹配

我们可以创建以.get、.post、.put、.delete等为后缀的文件名来匹配对应的Http method

// server/api/test.get.tsexport default defineEventHandler(() => 'Test get handler')
/// server/api/test.post.tsexport default defineEventHandler(() => 'Test post handler')

以上两个文件分别以.get 和 .post后缀,那么在代码请求中就只能使用相对应的get、post方式进行请求,如果换成其他方式,直接返回404 error

处理请求体

post请求中,一般都会在请求体里面传入一些参数,获取请求体参数可以通过以下这种方式

// server/api/submit.post.tsexport default defineEventHandler(async (event) => {    const body = await useBody(event)    return { body }})

前端传入参数可以通过以下方式

$fetch('/api/submit', { method: 'post', body: { test: 123 } })

注意:此时我们创建了一个submit.post的文件用以处理post请求,此时我们使用useBody可以接收到前端传来的请求参数。但如果我们使用get方式请求该API,那么接口会抛出r405 Method Not Allowed HTTP error

处理get请求路由参数

例如:/api/query?param1=a&param2=b

// server/api/query.get.tsexport default defineEventHandler((event) => {  const query = useQuery(event)  return { a: query.param1, b: query.param2 }})

以上就是关于“nuxt3中的server routes如何使用”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网精选频道。

--结束END--

本文标题: nuxt3中的server routes如何使用

本文链接: https://lsjlt.com/news/329950.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • nuxt3中的server routes如何使用
    这篇“nuxt3中的server routes如何使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“nuxt3中的...
    99+
    2023-06-30
  • 教你如何在Nuxt3中使用wavesurfer.js
    目录安装 wavesurfer.js常规方式引入正确的引入方式加载插件加载波形数据暴露插件的方法项目安装 wavesurfer.js 在项目中安装 wavesurfer.js npm...
    99+
    2023-01-15
    Nuxt 3 使用 wavesurfer.js wavesurfer.js使用
  • nuxt3中serverroutes的使用详解
    目录匹配路由参数Http方法匹配处理请求体处理get请求路由参数最近在学习nuxt3,学习过程中可参考的中文文档并不是特别多,今天在学习server routes的使用方式,可参考的...
    99+
    2024-04-02
  • Nuxt3 布局layouts和NuxtLayout的使用详解
    Nuxt3是基于Vue3的一个开发框架,基于服务器端渲染SSR,可以更加方便的用于Vue的SEO优化。 用Nuxt3 SSR模式开发出来的网站,渲染和运行速度非常快,性能也非常高,而...
    99+
    2023-05-18
    Nuxt3 布局layouts和NuxtLayout Nuxt3 layouts使用
  • SQL Server 中如何使用JSON_MODIFY
    本篇文章给大家分享的是有关SQL Server 中如何使用JSON_MODIFY,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。SQL Serv...
    99+
    2024-04-02
  • SQL Server中如何使用with as
    这篇文章将为大家详细讲解有关SQL Server中如何使用with as,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。一.WITH AS的含义WITH AS...
    99+
    2024-04-02
  • MSSQL SERVER中BETWEEN AND如何使用
    这篇文章将为大家详细讲解有关MSSQL SERVER中BETWEEN AND如何使用,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。使用的 sql:SELEC...
    99+
    2024-04-02
  • SQL Server中JSON 函数如何使用
    SQL Server中JSON 函数如何使用,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。 JSON 函数使用本节中...
    99+
    2024-04-02
  • Sql Server中如何使用触发器
    本篇文章为大家展示了Sql Server中如何使用触发器,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Sql Server为每个触发器都创建了两个专用表:Inser...
    99+
    2024-04-02
  • Sql Server中如何使用REPLACE函数
    今天就跟大家聊聊有关Sql Server中如何使用REPLACE函数,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。REPLACE用第三个表达式替换第...
    99+
    2024-04-02
  • Sql Server中如何使用Over()函数
    今天就跟大家聊聊有关Sql Server中如何使用Over()函数,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。利用over(),将统计信息计算出来...
    99+
    2024-04-02
  • SQL Server中如何使用UPDATE语句
    这篇文章给大家介绍SQL Server中如何使用UPDATE语句,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。现实应用中数据库中的数据改动是免不了的。通常,几乎所有的用户数据库中的大部...
    99+
    2024-04-02
  • Sql Server中如何使用DBCC命令
    今天就跟大家聊聊有关Sql Server中如何使用DBCC命令,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。一:DBCC1:什么是DBCC  我不是...
    99+
    2024-04-02
  • webpack-dev-server中如何配置使用
    这篇文章给大家分享的是有关webpack-dev-server中如何配置使用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1安装的WebPack-dev-server 在终端输入...
    99+
    2024-04-02
  • Linux中如何使用sftp-server命令
    小编给大家分享一下Linux中如何使用sftp-server命令,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Linux常用命令sftp-server命令是一个“...
    99+
    2023-06-28
  • Sql Server中REPLACE函数如何使用
    SQL Server中的REPLACE函数用于在一个字符串中替换指定的字符或字符串。REPLACE函数的语法如下:REPLACE (...
    99+
    2023-08-15
    Sql Server REPLACE
  • SQL Server中如何使用Apply关键字
    SQL Server中如何使用Apply关键字,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。1、概念介绍APPLy关键字是SQLServe...
    99+
    2024-04-02
  • Sql Server中如何使用系统视图
    Sql Server中如何使用系统视图,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。一:那些系统视图1. 系统视图是干什么呢?...
    99+
    2024-04-02
  • SQL Server 中如何使用游标语句
    本篇文章给大家分享的是有关SQL Server 中如何使用游标语句,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。SQL Server游标语句使...
    99+
    2024-04-02
  • SQL Server中如何使用查询语句
    这期内容当中小编将会给大家带来有关SQL Server中如何使用查询语句,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。一.查询第二个字母是t或者a的雇员的全部信息复制代码...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作