Спасибо @Madaky. Прочитав ваш ответ, я просто добавил объект different прямо в свой маршрут, чтобы не создавать дополнительные файлы (я не знаю, хорошая ли это практика), но он работает.
Вот окончательный код с информацией добавлено в функцию "@requestBody":
@post('/users/login', {
responses: {
'200': {
description: 'Token',
content: {
'application/json': {
schema: {
type: 'object',
properties: {
token: {
type: 'string'
}
}
}
}
}
}
}
})
async login(
//here above inside @requestBody
@requestBody(
{
description: 'Required input for login',
required: true,
content: {
'application/json': {
schema: {
type: 'object',
required: ['email', 'password'],
properties: {
username: {
type: 'string',
},
password: {
type: 'string',
},
},
},
}
},
}
) credentials: Credentials,
): Promise<{token: string}> {
// make sure user exist,password should be valid
const user = await this.userService.verifyCredentials(credentials);
// console.log(user);
const userProfile = await this.userService.convertToUserProfile(user);
// console.log(userProfile);
const token = await this.jwtService.generateToken(userProfile);
return Promise.resolve({token: token})
}
Работает как шарм, спасибо!