javascript - 如何扩展 AdonisJS 响应类?
问题描述
当用户在我的 RESTful 应用程序中创建帖子时,我想将响应状态代码设置为 201。
我按照文档创建start/hooks.js
如下:
'use strict'
const { hooks } = require('@adonisjs/ignitor')
hooks.after.httpServer(() => {
const Response = use('Adonis/Src/Response')
Response.macro('sendStatus', (status) => {
this.status(status).send(status)
})
})
现在在我的 PostController.js 中,我有这个:
async store( {request, response, auth} ) {
const user = await auth.current.user
response.sendStatus(201)
}
但是我在这个端点收到了 500 个 HTTP 代码。我究竟做错了什么?
我注意到当我跑步时Response.hasMacro('sendStatus')
我得到了 false。
解决方案
事实上,阿多尼斯已经为所有响应代码提供了开箱即用的功能......
只需编写 response.created(.....)。
您还可以使用例如:.badRequest()、.notFound() 等...更多信息:https ://adonisjs.com/docs/4.1/response#_descriptive_methods
推荐阅读
- javascript - 如何编辑这个 Angular Material Chips CSS?
- json - 来自 JSON 的动态灯箱库
- performance - 服务器性能缓慢
- powershell - 仅将选定的组成员身份复制到新用户
- vbscript - 通过vbs下载文件
- javascript - 在 NestJS 中使用依赖注入导入 TypeScript 模块
- css - 在 React 应用程序的上下文中导出 CSS
- java - 优化段落找词
- reactjs - 使用动态键包裹在 div 中时,React Collapse 过渡没有动画效果
- asp.net-mvc - 看不到我的 AspNet Identity 表?