我有一个只有Adonis.js api的应用程序,我的auth路径不工作。
这是我的注册路线:
const Route = use('Route')
...
Route.post('/signup', 'UserController.signup')下面是UserController中的操作:
'use strict'
const User = use('App/Models/User')
const Hash = use('Hash')
const Writ = use('App/Models/Writ')
class UserController {
async signup ({ request, auth, response }) {
// get user data from signup form
const userData = request.only(['name', 'username', 'email', 'password'])
console.log(userData);
try {
// save user to database
const user = await User.create(userData)
console.log(user);
// generate JWT token for user
const token = await auth.generate(user)
return response.json({
status: 'success',
data: token
})
} catch (error) {
return response.status(400).json({
status: 'error',
message: 'There was a problem creating the user, please try again later.'
})
}
}
...
module.exports = UserController使用Postman,控制台打印请求,但返回:
{“状态”:“错误”,“消息”:“创建用户有问题,请稍后再试”}
发布于 2019-08-23 09:28:57
试一试:
'use strict'
const User = use('App/Models/User')
const Hash = use('Hash')
class UserController {
async signup ({ request, auth, response }) {
// get user data from signup form
const userData = request.only(['username', 'email', 'password'])
// ! Only existing fields in the database
console.log(userData);
try {
// save user to databas
const user = new User()
user.fill(userData)
await user.save()
// generate JWT token for user
const token = await auth.generate(user)
return response.json({
status: 'success',
data: token
})
} catch (error) {
return response.status(400).json({
status: 'error',
message: error
})
}
}
}
module.exports = UserController在创建用户时添加try/catch会很有趣,以更好地定位错误。
如果不能工作,请检查配置文件。
祝您今天愉快!
发布于 2019-08-24 10:02:37
我希望您在这文档中提到了所有的配置。
“使用严格的”const User =use(‘App/Models/User“) const Hash = use('Hash') const Writ = use('App/Models/Writ')类UserController {异步注册({ request,auth,response }) { const userData =request.only(’用户名‘,'email',’密码‘) console.log(userData);尝试{ const =等待User.create(userData) console.log(用户);// generate令牌用于用户const令牌=等待auth.generate(用户)返回response.json({ status:'success‘),数据: token }} catch (错误){返回response.status(400).json({状态:‘错误’,消息:错误}) }}module.exports = UserController
然后尝试生成令牌--它是工作的
https://stackoverflow.com/questions/57611495
复制相似问题