使用REST APis的数据收集最佳实践

时间:2018-11-21 11:53:21

标签: rest jsonpath

考虑到我有一个数据收集API,该API正在使用以下资源,

{
    user: {
        id:"c5667fb4-2348-4ccc-afc4-2309077a09ad"
        documents :[
            {
                type:"PASSPORT",
                value:"1234"
                issue_date:"11/11/2011"
            },
            {
                type:"DRIVING_LICENSE",
                value:"5678"
                issue_date:"11/11/2001"
            }
        ]
    }
}

对于客户感兴趣的给定用户,我需要能够通过我的API进行评估和响应,并要求提供任何缺少的文档-例如,例如,某个用户在创建时可能只提供了通行证,所以我现在只需要索取DRIVING_LICENSE。

为此,我考虑将控制器端点(例如“评估”)发送能够指示用户丢失哪些数据的响应。

客户端可以调用 POST:/ evaluate / c5667fb4-2348-4ccc-afc4-2309077a09ad 现在说该用户丢失了DRIVING_LICENSE,响应应指示丢失的内容,如下所示-我正在使用json路径定义我要查找的内容

{
    required_data:[
        {
            path:"user.documents[?(@.type=="DRIVING_LICENSE")].type"
        }
    ]
}

这是表达此要求的合理方法,还是有更正确的方法来表达此要求?

1 个答案:

答案 0 :(得分:0)

如果请求中缺少某些强制性信息,则为错误情况,在这种情况下,最好提供400个错误HTTP代码和错误响应正文。像这样

HTTP Error Code: 400
Error json body:
{
    "errorCode": "Validation",
    "message": "Driving license is required"
}