douchu4048 2017-05-08 15:10
浏览 35
已采纳

如何针对摇摇欲坠的模式验证JSON模式的实例?

I have a JSON payload (request or response) and I want to validate that instance against a swagger schema that I have. How do I do that?

Please note that I am not trying to validate if my spec is an OpenAPI/Swagger spec.

I'd like to achieve this without the use of external JSON validators. I am also trying to achieve this in Go (specifically go-openapi)

Thanks.

  • 写回答

1条回答 默认 最新

  • duanmianhong4893 2017-05-08 15:33
    关注

    You need to get a hold of the schema that defines your validation rules, that's typically stored in the swagger spec definition property.

    And you need to get your model (json data structure, can be a map or a struct). Here's an example:

    var model models.User
    json.Unmarshal(bytes, &model)
    
    var spec *spec.Swagger = getSpec()
    schema := spec.Definitions["User"]
    
    if err := validate.AgainstSchema(schema, &model, strfmt.Default); err != nil {
      return err
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 请问为什么我配置IPsec后PC1 ping不通 PC2,抓包出来数据包也并没有被加密
  • ¥200 求博主教我搞定neo4j简易问答系统,有偿
  • ¥15 nginx的使用与作用
  • ¥100 关于#VijeoCitect#的问题,如何解决?(标签-ar|关键词-数据类型)
  • ¥15 一个矿井排水监控系统的plc梯形图,求各程序段都是什么意思
  • ¥15 ensp路由器启动不了一直报#
  • ¥50 安卓10如何在没有root权限的情况下设置开机自动启动指定app?
  • ¥15 ats2837 spi2从机的代码
  • ¥200 wsl2 vllm qwen1.5部署问题
  • ¥100 有偿求数字经济对经贸的影响机制的一个数学模型,弄不出来已经快要碎掉了