Лучшая практика сбора данных с использованием REST APis - PullRequest
0 голосов
/ 21 ноября 2018

Предположим, у меня есть 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и запросить любой из отсутствующих документов - Как, например, пользователь мог предоставить только PASSPORT во время создания, поэтому мне нужно теперь запрашивать только DRIVING_LICENSE.

Для этого я думал о конечной точке контроллера (как«оценить»), чтобы иметь возможность отправить ответ, который указывает, какие данные отсутствуют у пользователя.

клиент может вызвать POST: / оценивать / c5667fb4-2348-4ccc-afc4-2309077a09ad и теперь скажите, что этому пользователю не хватает DRIVING_LICENSE, в ответе должно быть указано, что пропущено следующим образом: я использую путь json, чтобы определить, что я ищу

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

Это разумный способ выразить это требование илиЕсть ли более правильный способ сделать это?

1 Ответ

0 голосов
/ 21 ноября 2018

Если в запросе отсутствует какая-либо обязательная информация, то это случай ошибки, и в этом случае лучше указать код ошибки 400 и текст ответа об ошибке.Вот как то так

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