REST-Api中传递结构化数据或键值对的最佳做法是什么?

问题描述 投票:0回答:1

我具有与下面给定的数据结构类似的数据结构,我应该对其进行处理。我正在设计一种API,该API应该接受类似于以下给出的POST请求。 (忽略标题等) { "Name" : "Johny English", "Id": "534dsf", "Message":[ { "Header":"Country of origin", "Value":"England" }, { "Header":"Nature of work", "Value":"Secret Agent/Spy" } ] }

我有些不满意,这是传递/接受数据的正确方法。在这里,我谈论的是结构化数据与键值对。虽然我可以直接将字段(“名称”,“ Id”)提取到对象属性,但是对于键值对,我需要遍历集合并与字符串(例如“工作性质”)进行比较以提取价值观。我搜索了几个站点,寻找任何最佳实践都无法得出任何结论。是否有最佳实践,建议等。

json rest data-structures api-design
1个回答
1
投票

我认为您不会找到任何坚决的,基于证据的论据来反对在消息模式中包含键值对列表。但这就是要寻找的东西-人们撰写有关消息模式设计的文章,以及如何设计消息以支持更改的方法,等等。

实际上,没有太大的区别

{
    "Name" : "Johny English",
    "Id": "534dsf",
    "Message":[
        {
            "Header":"Country of origin",
            "Value":"England"
        },
        {
            "Header":"Nature of work",
            "Value":"Secret Agent/Spy"
        }
    ]
}

{
    "Name" : "Johny English",
    "Id": "534dsf",
    "Message": {
        "Country of origin": "England",
        "Nature of work": "Secret Agent/Spy"
    }
}

在万维网的早期,“一切”都是键值对,因为很容易用通用组件(如Web浏览器)可以工作的方式描述键值对的集合。使用它(即HTML表单的定义)。它完成了工作。

© www.soinside.com 2019 - 2024. All rights reserved.