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

2021 年 1 月 25 日
 beryl

背景:
做一个机审服务平台,但是业务方传过来的是个复杂 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 检测

谢谢

2203 次点击
所在节点    程序员
13 条回复
Takamine
2021 年 1 月 25 日
……不知道为啥我第一反应是 GraphQL 。
smilekung
2021 年 1 月 25 日
jsonSchemaValidator
beryl
2021 年 1 月 25 日
@Takamine 我能理解到的也是 graphQL,还在研究,但是可能不合适
beryl
2021 年 1 月 25 日
@Takamine GraphQL 偏向于查询吧
Takamine
2021 年 1 月 25 日
@beryl 嗯呢,只是看到接口 schema 这几个词条件反射想到这个。_(:з」∠)_
Takamine
2021 年 1 月 25 日
话说这个接口接收不是用的实体吗,是 Map 可随意变吗。
chendy
2021 年 1 月 25 日
参考 jsonschema,自己写也不麻烦
buhi
2021 年 1 月 26 日
json schema, 这个是规范, 别的可以不用看了
myCupOfTea
2021 年 1 月 26 日
json schema 太啰嗦了
beryl
2021 年 1 月 26 日
@myCupOfTea 那还有更好的推荐么
asmoker
2021 年 1 月 26 日
marshmallow
myCupOfTea
2021 年 1 月 27 日
@beryl 自定义(
beryl
2021 年 1 月 27 日

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://v2ex.xtra.eu.org/t/748255

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX