http код для частичного успеха / ошибки - PullRequest
0 голосов
/ 16 февраля 2011

У меня есть служба, которая принимает список элементов для обработки.

Каждый из элементов обрабатывается по одному в серверной части, когда все элементы выполнены, служба возвращает документ, содержащий исходный список.элементов, но с успехом или неудачей в каждой строке.

пример:

PUT - тело:

[
  {"item" : 1},
  {"item" : 2},
  {"item" : 3}
]

ответ - тело:

[
  {"item" : 1, "state" : "OK"},
  {"item" : 2, "state" : "OK"},
  {"item" : 3, "state" : "FAILED"}
]

Вопрос теперь: какой код возврата я должен использовать, если один из элементов вышел из строя?Я не могу найти какой-либо правильный соответствующий код состояния http для этого, это сбой, но опять же это не так, но все;)?

Ответы [ 2 ]

0 голосов
/ 16 февраля 2011

Лучше было бы использовать ответ с несколькими состояниями, но отправлять данные в POST.

Это часто случается с вещами, которые загружают / обновляют множество элементов. В ответе с несколькими состояниями вы можете сопоставить каждое действие и конкретный ответ, например:

<response>
  <item id="1">
    <status>200 OK</status>
  </item>
  <item id="2">
    <status>403 Forbidden</status>
  </item>
</response>
0 голосов
/ 16 февраля 2011

С точки зрения HTTP это успех - я бы вернул 200 - запрос был успешно получен и обработан.

Затем приложение должно проверить, все ли в порядке.

Однако, чтобы упростить жизнь, я мог бы добавить в ответ поле ошибки?

...