我如何在节点/ adonis中返回特定的状态+消息?

时间:2019-10-25 11:31:33

标签: node.js adonis.js

当我的api错误时,我试图返回一种特定的响应状态和一条消息。

我这样尝试:

return response.status(409).json({message: 'User already registered'})

但是我收到了:

response is not defined

我尝试导入响应:

const response = use('Adonis/Src/Response')

但是我这样收到:

  

response.status不是函数

2 个答案:

答案 0 :(得分:3)

您需要使用控制器中的response对象:

控制器

class MyController {
    async login({ response }) {
        return response.status(409).json({message: 'User already registered'})
    }
}

路线

Route.get('/users', async ({ response }) => {
  return response.status(409).json({message: 'User already registered'})
})

答案 1 :(得分:0)

将此放在您的提供者或挂钩上,如docs

所述
const Response = use('Adonis/Src/Response')

Response.macro('send409', function (data) {
  this.status(409).send(data)
})