在NestJS GraphQL中设置cookie是通过使用响应对象来实现的。以下是一个完整且全面的答案:
在NestJS GraphQL中设置cookie可以通过以下步骤实现:
cookie-parser
中间件。你可以使用以下命令进行安装:npm install cookie-parser
main.ts
)中,导入cookie-parser
中间件并将其应用于应用程序:import * as cookieParser from 'cookie-parser';
async function bootstrap() {
const app = await NestFactory.create(AppModule);
app.use(cookieParser());
await app.listen(3000);
}
bootstrap();
import { Resolver, Mutation, Context } from '@nestjs/graphql';
import { Response } from 'express';
@Resolver()
export class MyResolver {
@Mutation()
setCookie(@Context('response') res: Response) {
res.cookie('myCookie', 'cookieValue', { maxAge: 900000, httpOnly: true });
return 'Cookie set successfully';
}
}
在上面的示例中,我们使用res.cookie
方法来设置一个名为myCookie
的cookie,其值为cookieValue
。我们还可以通过传递一个选项对象来设置cookie的其他属性,例如maxAge
(指定cookie的过期时间)和httpOnly
(指定是否只能通过HTTP访问cookie)。
setCookie
方法:type Mutation {
setCookie: String
}
现在,你可以通过调用setCookie
mutation来设置cookie。例如,在GraphQL Playground中,你可以执行以下操作:
mutation {
setCookie
}
这将触发setCookie
方法并设置cookie。响应将返回一个字符串,表示cookie已成功设置。
推荐的腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云