• 请不要在回答技术问题时复制粘贴 AI 生成的内容
beryl
V2EX  ›  程序员

可扩展接口协议设计-自定义 schema/Json 配置化?

  •  
  •   beryl · Jan 25, 2021 · 2632 views
    This topic created in 2117 days ago, the information mentioned may be changed or developed.

    背景:
    做一个机审服务平台,但是业务方传过来的是个复杂 Json,里面某些字段需要做检测,但是不同接入方字段不确定,而且可能是多个字段。

    想了个思路是有个地方提前去做配置选择哪些字段做对应的哪些审核策略,但是具体思路还是不太清楚,请教下大家有没有其他的思路或者参考方案?

    参数举列:

    {
      "name": "ABC",
      "title": "XXX",
      "ext": {
          "desc": "ZZZ",
          "content": "YYY"
       }
    }
    // 以上这个需要对 name 和 ext.content 进行检测
    
    
    {
      "cnName": "ABCDD",
      "titleInfo": "XXX",
      
      "poiInfo": {
          "city": {
          	"desc": "ZZZ",
          	"name": "YYY"
           }
       }
    }
    // 以上这个需要对 titleInfo 和 poiInfo.city.name 和 poiInfo.city.desc 检测
    
    

    谢谢

    13 replies  •  2021-01-27 11:00:29 +08:00
    Takamine
    Takamine
    Jan 25, 2021 via Android
    1
    ……不知道为啥我第一反应是 GraphQL 。
    smilekung
    smilekung
    Jan 25, 2021
    2
    jsonSchemaValidator
    beryl
    beryl
    OP
    Jan 25, 2021
    3
    @Takamine 我能理解到的也是 graphQL,还在研究,但是可能不合适
    beryl
    beryl
    OP
    Jan 25, 2021
    4
    @Takamine GraphQL 偏向于查询吧
    Takamine
    Takamine
    Jan 25, 2021 via Android
    5
    @beryl 嗯呢,只是看到接口 schema 这几个词条件反射想到这个。_(:з」∠)_
    Takamine
    Takamine
    Jan 25, 2021 via Android
    6
    话说这个接口接收不是用的实体吗,是 Map 可随意变吗。
    chendy
    chendy
    Jan 25, 2021
    7
    参考 jsonschema,自己写也不麻烦
    buhi
    buhi
    Jan 26, 2021
    8
    json schema, 这个是规范, 别的可以不用看了
    myCupOfTea
    myCupOfTea
    Jan 26, 2021
    9
    json schema 太啰嗦了
    beryl
    beryl
    OP
    Jan 26, 2021
    10
    @myCupOfTea 那还有更好的推荐么
    asmoker
    asmoker
    Jan 26, 2021
    11
    marshmallow
    myCupOfTea
    myCupOfTea
    Jan 27, 2021
    12
    @beryl 自定义(
    beryl
    beryl
    OP
    Jan 27, 2021
    13
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1346 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 75ms · UTC 17:15 · PVG 01:15 · LAX 09:15 · JFK 12:15
    ♥ Do have faith in what you're doing.