Когда пользователь создает сообщение в моем приложении 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)
}
Но на этой конечной точке я получаю HTTP-код 500. Что я делаю неправильно?
Я заметил, что когда я бегу Response.hasMacro('sendStatus'), я получаю ложный.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


На самом деле у Adonis уже есть это из коробки для всех кодов ответов...
Просто напишите response.created(.....).
Вы также можете использовать, например: .badRequest(), .notFound() и т.д.... Подробнее о: https://adonisjs.com/docs/4.1/response#_descriptive_methods
Я решил эту проблему вчера:
hooks.after.httpServer(() => {
const Response = use('Adonis/Src/Response')
Response.macro('sendStatus', function (status) => {
this.status(status).send(status)
})
})
Извините, я не проверил ссылку, которой вы поделились. Я отказываюсь принимать свой ответ и принимаю ваш. Спасибо
Проверьте мой ответ... Это вообще не нужно. Вы добавляете крючок, который не нужен.