RESTFUL API上的JSON数据结构[已关闭]

avkwfej4  于 2023-11-20  发布在  其他
关注(0)|答案(1)|浏览(116)

已关闭。此问题为opinion-based。目前不接受回答。
**要改进此问题吗?**更新此问题,以便editing this post可以使用事实和引文来回答。

6天前关闭
Improve this question
在开发方面,我考虑的是代码质量或简单的标准,当考虑在@GET或@PUT方法上管理同一对象时,这是在JSON中结构化信息的最佳方式。
请查看示例:
假设有一个API,它有一个返回一组数据的@GET方法,这组数据包含一个类别:

{....
"category":{
            "id": 1,
            "name":"categoryName"
           },
...}

字符串
正如你所看到的,cathegory被定义为一个有ID和名称的对象。这个信息被发送到前端显然是为了UI的目的。然而,如果前端修改这个对象并执行@PUT以更新后端的数据,那么cathegory被指定为:

{....
    "category":1,
 ...}


正如你所看到的,这个类别的结构已经改变了。
哪一种是正确的/适当的/最好的处理方法,保持相同的结构(如第一个片段)或考虑另一个结构(如第二个片段),例如,在类型化前端编程语言上会导致创建新的对象/属性。

velaa5lx

velaa5lx1#

无论使用何种方法,Category对象都应该/将始终保持相同的结构。
下面是一个伪方法,它将返回所有Categories的列表

GET /categories

Response:

[
    {
        "id": 1,
        "name": "Something",
        "special": true
    },
    {
        "id": 2,
        "name": "Another",
        "special": false
    }
]

字符串
现在,如果您要更新特定的Category

PUT /categories/{id}

Body

{
    "id": 1, //Technically, this is an optional field
    "name": "Something has changed",
    "special": false
}


正如你所看到的,结构是相同的--这是你应该努力争取的。

相关问题