Loopback 4 中是否有一种方法可以使用
@get()
装饰器(或任何其他装饰器),传递路径但不生成该路由的开放 api 规范?@operation
或其他什么?对于操作装饰器
'x-visibility': 'undocumented'
、@get
等,有一个未记录的规范选项 @post
,可能适合您的需求。这是一个简化的示例:
@get('/test', {
responses: {},
'x-visibility': 'undocumented',
})
async test() {
// business logic
}
以下是一些使用它的参考:
我知道这是一个较旧的线程,但我在搜索中遇到它并发现有一种不同的(更好的?)方法来处理这种情况。 @loopback/rest 导入授予对 2 个可以实现 OP 要求的对象的访问权限。 OAS 和 能见度
import { get, oas, visibility } from '@loopback/rest';
//method using oas
@get('/test')
@oas.visibility(OperationVisibility.UNDOCUMENTED)
@response(200, {
description: 'Whatever the test is',
content: {'application/json': {schema: TestSchema}},
})
async test() {
//code
}
//method using visibility
@get('/test2')
@visibility(OperationVisibility.UNDOCUMENTED)
@response(200, {
description: 'Whatever the test2 is',
content: {'application/json': {schema: TestSchema2}},
})
async test2() {
//code
}
如果您愿意,您实际上可以将 oas 命名空间用于整个 API 规范,因为它包含所需的所有 OpenApi 装饰器
文档: https://loopback.io/doc/en/lb4/Decorators_openapi.html#shortcuts-for-the-openapi-spec-oas-objects