首页 > 解决方案 > 发回 JSON 对象

问题描述

我有一个要求,我需要验证车辆的年份以及车辆是否超出请求的范围。我需要发送未通过验证的通信车辆的参考。例如:在下面的车辆 2 年小于 2000 的情况下,我需要发送一些东西,例如 cover.vehicle[1].year 超出范围。如何动态地在 DTO 中构建 JSON 的完整地址?

要求:

"cover": [
                {

                    "vehicle": {
                        "year": 2019
                        "make" : "toyota"
                    }, 
                    " vehicle": {
                        "year": 1980
                        "make" : "honda"
                    },
}
]

回复:

{
 "description": "Year is out of range,
 "field": "cover[1].vehicle.year",
}

标签: json

解决方案


我认为车辆在这里真的应该有唯一的ID。然后,您可以根据 ID 唯一识别车辆。否则,如果你有一堆无效的车辆,同一年和制造?您只想返回第一个无效的吗?

如果您真的不想这样做,那么我建议您退回整个无效车辆,例如: :

{
    "description" : "Year is out of range"
    "year": 2019
    "make" : "toyota"
}

然后你可能会想出一些复杂的嵌套错误机制来解决多个错误......

我建议使用 ID,然后返回一个引用无效车辆 ID 数组的错误对象,并将 HTTP 状态设置为 400。


推荐阅读