gpt4 book ai didi

json - 为同一请求返回不同结构的最干净的方式

转载 作者:行者123 更新时间:2023-12-02 03:12:35 28 4
gpt4 key购买 nike

我想实现一个 rest 服务,它接受一个对象并返回该对象是否有资格使用某些参数进行处理。问题是根据对象是否符合条件,响应的结构非常不同。例如,在对象应该被处理的情况下,它与处理类型和优先级相关联。当它不符合条件时,返回原因。这是为同一请求返回不同结构的最简洁的方式。我可以想到三个选项,但可以随意添加其他选项。

选项A:
将数据作为包含结构化字段的信封返回

{
"eligible": bool,
"data": {
// Data depending on whether elbile or not
}
}

选项B:
使用不同的 HTTP 状态代码并相应地构造 json。这在某种程度上是不干净的,因为它实际上不是请求中的错误,而是有效的响应。

选项C:
在符合条件或不符合条件的情况下,对发送的数据使用不同的字段,并让一个字段为空。

{
"eligible": bool,
"dataEligible": {
"processingType": "",
"priority": 0
}
"dataNonEligible": {
"reason": "",
}
}

最佳答案

我认为这将是 422 Status Code 的一个很好的用例.它还不是官方 ISO,但很多公司(即 Twitter)正在使用它。

基本上这就是发生在你身上的事情——资源无法被处理,尽管服务器理解请求并且它是正确的语法。


选项 C 看起来也很合理,因此请选择最适合您需要的选项。我不推荐 A,因为对于使用静态类型语言(即 Java)的消费者来说,同一请求的不同格式是一个大问题

关于json - 为同一请求返回不同结构的最干净的方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39041720/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com