Skip to content

Commit

Permalink
docs: update content
Browse files Browse the repository at this point in the history
  • Loading branch information
kuizuo committed Oct 3, 2024
1 parent f2b756b commit 8457d17
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 9 deletions.
10 changes: 3 additions & 7 deletions blog/develop/Next js 使用 Hono 接管 API.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,11 @@ description: 这篇文章详细介绍了如何在 Next.js 项目中使用 Hono
image: https://img.kuizuo.cn/2024/1002213046-nextjs-with-hono.png
---


直入正题,Next.js 自带的 API Routes (现已改名为 [**Route Handlers**](https://nextjs.org/docs/app/building-your-application/routing/route-handlers)) 异常难用,例如当你需要编写一个 RESTful API 时,尤为痛苦,就像这样

![image.png](https://img.kuizuo.cn/2024%2F0930171329-image.png)
直入正题,Next.js 自带的 API Routes (现已改名为 [**Route Handlers**](https://nextjs.org/docs/app/building-your-application/routing/route-handlers)) 异常难用,例如当你需要编写一个 RESTful API 时,尤为痛苦

<!-- truncate -->

![image.png](https://img.kuizuo.cn/2024%2F0930171329-image.png)

这还没完,当你需要数据验证、错误处理、中间件等等功能,又得花费不小的功夫,所以 Next.js 的 API Route 更多是为你的全栈项目编写一些简易的 API 供外部服务,这也可能是为什么 Next.js 宁可设计 [Server Action](https://nextjs.org/docs/app/building-your-application/data-fetching/server-actions-and-mutations) 也不愿为 API Route 提供传统后端的能力。

Expand Down Expand Up @@ -95,13 +93,12 @@ export default app

所返回的响应体是完整的 zodError 内容,并且状态码为 400

:::tip
:::tip

数据验证失败的状态码通常为 **[422](https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Status/422)**

:::


因为 zod-validator 默认以 json 格式返回整个 result,代码详见 [zod-validator/src/index.ts#L68-L70](https://github.com/honojs/middleware/blob/main/packages/zod-validator/src/index.ts#L68-L70)

这就是坑点之一,返回给客户端的错误信息肯定不会是以这种格式。这里我将其更改为全局错误捕获,做法如下
Expand Down Expand Up @@ -382,7 +379,6 @@ app.get('/api/ui', swaggerUI({ url: '/api/doc' }))

从目前来看,OpenAPI 文档的生成仍面临挑战。我们期待 Hono 未来能推出一个功能,可以根据 app 下的路由自动生成接口文档(相关[Issue](https://github.com/honojs/hono/issues/2970)已存在)。


## 仓库地址

附上本文中示例 demo 仓库链接(这个项目就不搞线上访问了)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,6 @@ import Tweet from '@site/src/components/Tweet';

:::

<Tweet id="1840698427048616381" />

已经在一家 AI 公司入职了一个月,对坐班有些厌恶的我,没想到有一天也会开始通勤打卡。而经历了这一个月的工作,我对坐班的态度有所转变,开始理解这种工作方式对我的意义。是时候分享入职这期间的工作内容与感受。

<!-- truncate -->
Expand Down

0 comments on commit 8457d17

Please sign in to comment.