我是LoopBack v4的新手,我正在尝试发送每个请求的授权密钥。之前我使用过Swagger,在点击右侧的“授权”按钮后,我习惯添加api密钥。为了避免由于我缺乏经验而导致的错误,我开始使用“Todo List”示例的新应用程序。我尝试(没有成功)遵循这篇文章建议的内容:Nodejs Loopback 4 add bearer token config into swagger explorer
我所做的是使用以下代码修改文件src/index.ts
:
export async function main(options: ApplicationConfig = {}) {
const spec: OpenApiSpec = {
openapi: '3.0.0',
info: {
title: 'LoopBack Application v2',
version: '1.0.2',
},
paths: {
},
securityDefinitions: [
{
api_key: [
{
type: 'apiKey',
name: 'api_key',
in: 'header'
}
]
},
],
};
const app = new TodoListApplication(options);
app.api(spec);
await app.boot();
await app.start();
const url = app.restServer.url;
console.log(`Server is running at ${url}`);
return app;
}
基本上,我添加了这一行:app.api(spec);
和配置securityDefinitions
。 spec
常数改变了title
和version
,但我仍然看不到“授权”按钮。当然,我错过了什么或做错了什么。
任何帮助表示赞赏!谢谢!
最后,我添加了“授权”按钮,并使用以下配置在标头中发送api_key
:
const spec: OpenApiSpec = {
openapi: '3.0.0',
info: {
title: 'LoopBack Application v2',
version: '1.0.2',
},
paths: {},
security: [
{
api_key: ['api_key'],
},
],
components: {
securitySchemes: {
api_key: {
type: 'apiKey',
name: 'api_key',
in: 'header'
}
}
},
};