在Loopback 4中是否有一种方法可以使用@get()装饰器(或任何其他装饰器),传递路径但不为该路由生成开放的API规范?通过传递一个特殊的参数/使用@operation或任何东西?谢谢
@get()
@operation
dgenwo3n1#
对于操作装饰器@get、@post等,有一个未记录的规范选项'x-visibility': 'undocumented'。可能符合你的需求下面是一个简单的例子:
@get
@post
'x-visibility': 'undocumented'
@get('/test', { responses: {}, 'x-visibility': 'undocumented', }) async test() { // business logic }
以下是一些使用它的参考文献:
iibxawm42#
我知道这是一个旧的线程,但我在搜索中发现它,并发现有一个不同的(更好?)的方式来处理这种情况。@ blog/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来源:https://github.com/loopbackio/loopback-next/blob/44f2fcd827c4601ec44828c5b5f76f2f6730424e/packages/openapi-v3/src/decorators/index.ts#L24
2条答案
按热度按时间dgenwo3n1#
对于操作装饰器
@get
、@post
等,有一个未记录的规范选项'x-visibility': 'undocumented'
。可能符合你的需求下面是一个简单的例子:以下是一些使用它的参考文献:
iibxawm42#
我知道这是一个旧的线程,但我在搜索中发现它,并发现有一个不同的(更好?)的方式来处理这种情况。@ blog/rest导入赠款对2个对象的访问权限,这些对象可以实现OP所需的功能。OAS 和 * 能见度 *
如果您愿意,实际上可以将oas名称空间用于整个API规范,因为它包含了所有需要的OpenApi装饰器
文件:https://loopback.io/doc/en/lb4/Decorators_openapi.html#shortcuts-for-the-openapi-spec-oas-objects
来源:https://github.com/loopbackio/loopback-next/blob/44f2fcd827c4601ec44828c5b5f76f2f6730424e/packages/openapi-v3/src/decorators/index.ts#L24