如何扩展 AdonisJS 响应 class?
How to extend AdonisJS Response class?
当用户在我的 RESTful 应用程序中创建 post 时,我想将响应状态代码设置为 201。
我按照 documentation 创建了 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。
事实上,adonis 已经为所有响应代码提供了开箱即用的功能...
就写response.created(.......).
您还可以使用例如:.badRequest()、.notFound() 等...
更多信息:https://adonisjs.com/docs/4.1/response#_descriptive_methods
我解决了这个问题yesterday:
hooks.after.httpServer(() => {
const Response = use('Adonis/Src/Response')
Response.macro('sendStatus', function (status) => {
this.status(status).send(status)
})
})
当用户在我的 RESTful 应用程序中创建 post 时,我想将响应状态代码设置为 201。
我按照 documentation 创建了 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。
事实上,adonis 已经为所有响应代码提供了开箱即用的功能...
就写response.created(.......).
您还可以使用例如:.badRequest()、.notFound() 等... 更多信息:https://adonisjs.com/docs/4.1/response#_descriptive_methods
我解决了这个问题yesterday:
hooks.after.httpServer(() => {
const Response = use('Adonis/Src/Response')
Response.macro('sendStatus', function (status) => {
this.status(status).send(status)
})
})