loopback4路径枚举验证

问题描述

我想通过使用装饰器来验证回送中的路径。当前正在尝试此操作,但是环回不支持验证。我认为这是框架的问题,但我想确保我不会错过任何替代方案或做错任何事情。

对于以下内容,我希望调用GET / foo / hello返回400错误,但是框架只是调用处理程序。我将如何验证符合枚举的路径?

@operation('get','foo/{type}`)
public async getFoo(
  @param({
    name: 'type',in: 'path',description: 'Type of the Resource Group',required: true,schema: { type: 'string',enum:  ['type1','type2']},}
  )

解决方法

您可以在模型定义中使用AJV来指定枚举约束,即在上面的示例中使用ActionComponent而不是ActionComponent。参见https://loopback.io/doc/en/lb4/Validation-REST-layer.html

jsonSchema

已更新: 正在进行PR以向OpenAPI参数添加验证。有关进度,请参见https://github.com/strongloop/loopback-next/pull/6285。谢谢。