微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 hapi-openapi 我想要一个可选字符串

如何解决使用 hapi-openapi 我想要一个可选字符串

在使用 krakenjs/hapi-openapi 时,我似乎无法将字符串设为可选。

这里是 swagger/openApi

paths:
  /string:
    post:
      parameters:
        - name: stringBody
          in: body
          schema:
            $ref: "#/deFinitions/StringBody"
          required: true
      responses:
        200:
          description: All good

deFinitions:
  StringBody:
    type: object
    properties:
      stringBody:
        type: string
        maxLength: 13

当我卷曲

curl localhost:8083/v2/string -H "Content-Type: application/json" -d '{"stringBody":""}'

我明白

{"statusCode":400,"error":"Bad Request","message":"Invalid request payload input"}

如果我通过 curl 传递一个字符,它就会很好地击中处理程序

我知道如果我在代码中定义路由,我可以添加 .allow('') 并且 Joi 会通过验证 ie

server.route({
        method: 'POST',path: '/hello',handler: function (request,reply) {
            return 'hello ' + ((request.payload || {}).name || 'world');
         },options: {      
             validate: {
                 payload: Joi.object({
                     name: Joi.string().allow('')
                  })
             },}
    });

我使用以下版本

 "@hapi/hapi": "^20.0.3","hapi-openapi": "^2.0.2"

干杯

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。