方法nest.jsを使用してヘッダーを作成するにはどうすればよいですか?
私は現在これを使用しています:
_import { Controller, Body, Get, Post, HttpCode, HttpStatus, Req, Res } from '@nestjs/common';
import { Request, Response } from 'express';
import { AuthService } from './auth.service';
import { Usuario } from '../usuario/usuario.entity';
import { JsonWebTokenError } from 'jsonwebtoken';
import { request } from 'http';
@Controller('auth')
export class AuthController {
constructor(private readonly authService: AuthService) { }
@Post('login')
@HttpCode(HttpStatus.OK)
async login(@Body('username') username: string, @Body('password') password: string, @Res() response: Response) {
this.authService
.validateUser(username, password)
.then((token) => {
response.setHeader('Authorization', 'Bearer ' + token);
let respuesta: any = {};
respuesta.success = true;
respuesta.token = token;
return response.send(respuesta);
});
}
}
_
response.setHeader('Authorization', 'Bearer ' + token);
とreturn response.send(respuesta);
を使いたくない
ご回答ありがとうございます!
最新バージョンでは、NestJSCore内で@Header
デコレータを使用できました。
import { Controller, Get, Req, Header, Res } from '@nestjs/common';
import { Request, Response } from 'express';
@Controller('cookies')
export class CookiesController {
@Get('set')
// @Header('Set-Cookie', 'cookieName = 12345') // "Usin header decorator"
setCookie(@Res() response: Response): Response {
/*
* If using express approach, pass @Res as param decorator
*/
response.cookie('rememberme', '1') // Using express res object.
return response.send('Cookie has been set! :)')
}
@Get()
checkCookie(@Req() request: Request ): string {
console.log(Object.keys(request.cookies))
if(Object.keys(request.cookies).length > 0){
console.log('cookies =>', request.cookies)
return 'Cookies are set :)'
} else {
return 'Uh, oh! Cookie hasn\'t been set :\'('
}
}
}