Какой код статуса HTTP подходит для потока, в котором у клиента запрашивается дополнительная информация, прежде чем продолжить? - PullRequest
0 голосов
/ 26 февраля 2019

У нас есть одностраничное приложение, которое имеет ряд форм, необходимых для обработки полного «нового приложения».

Шаги типа «введите адрес электронной почты», «подтвердите адрес электронной почты», «подтвердите номер мобильного телефона» и т. Д.

Последовательность шагов основана на предыдущем шаге и может варьироваться в зависимости от пути пользователя (откуда он пришел, что он предоставил и т. Д.).

Этот процесс организовансервером клиентом, достигшим конечной точки /continue.

Путь пользователя может варьироваться, например

Step 1 -> Step 2 -> Step 4 -> Step 5 -> Complete
Step 1 -> Step 2 -> Step 3 -> Complete
Step 1 -> Step 2 -> Step 3 -> Step 4 -> Step 5 -> Complete

На каждом шаге конечная точка /continue будет возвращать следующий необходимый шаг:процесс до тех пор, пока не останется никаких шагов, и в этот момент он разрешит 204.

Когда пользователь должен завершить действие, прежде чем продолжить, мы сообщаем SPA, какую страницу отображать, выдав requiredAction в ответе

{
    "requiredAction": "STEP_3"
} 

Вопрос в том, каков соответствующий код состояния для запроса большего количества вещей от клиента?

Я вижу, что 303 может быть как в ТЕХНИЧЕСКОЕ заявляет, что оно:

указывает, что перенаправления ссылаются не на недавно загруженные ресурсы, а на другую страницу, такую ​​как страница подтверждения или страница прогресса загрузки.

1 Ответ

0 голосов
/ 26 февраля 2019

303 - разумный ответ, если вы хотите, чтобы клиент Перешел к URL-адресу, указанному вами в заголовке Location.

Если вы хотите вернуть данные, которые клиент будет проверятьпосле чего клиент самостоятельно определит, что ему нужно сделать что-то большее, например, нажать на URL-адрес /continue какой-то сложный запрос, после чего возвращенные вами данные являются полным ответом на успешный запрос, и вы должны его вернутьс кодом состояния 200.

...