我们使用在Asp.Net Core上运行的Swashbuckle包从我们的网络服务器中暴露出swagger-ui。我们正在为我们的Guid输入字段设置输入验证问题。
我们正在粘贴的GUID,从系统的其他部分读取,格式为 deb83f8a3edc4b78a2ece3321f81b58b ,请注意缺少的破折号。输入验证拒绝这一点,因为它期望格式中的破折号(因此它接受 deb83f8a-3edc-4b78-a2ec-e3321f81b58b )。
我们提供的swagger文档的参数类型为:string和format:uuid。它调用了一些内部的 validationGuid 调用,它有一个强制破折号的reg-ex。在浏览器控制台中,它似乎正在寻找一个名为JsonSchema_string_uuid的组件,但却找不到它。
所以我的问题是如何扩展swagger-ui以覆盖特定参数类型/格式的验证?
更新: 我知道RFC指定UUID包含破折号和变通方法。但是,我仍然有兴趣了解如何自定义两种自定义格式的验证,特别是uuid?
答案 0 :(得分:0)
虽然OpenAPI规范和JSON模式当前未定义format: uuid
,但RFC 4122将UUID定义为包含短划线,而OpenAPI存储库中的some comments建议https://www.postgresql.org/docs/current/static/encryption-options.html 1}}应该遵循RFC 4122.这意味着没有破折号的示例很可能不是format: uuid
。
考虑将format: uuid
替换为format: uuid
'。