REST API: рекомендации по обновлению массива объектов JSON

#json #rest

#json #rest

Вопрос:

У меня есть следующий объект JSON:

 {
   cars: [
      {
        id: 1,
        name: test1
      },
      {
        id: 2,
        name: test2
      },
      {
        id: 3,
        name: test3
      }
   ]
}
  

Я хотел бы создать новый API, который использует этот объект JSON для обновления имен всех автомобилей, предоставленных в структуре JSON cars.

  • Как лучше всего это сделать? Использовать POST, PUT ?
  • Я полагаю, что URL-адрес может быть: POST или PUT / cars ? (Без идентификатора в параметрах)
  • Я хотел бы проверить, действительно ли все автомобили существуют, прежде чем обновлять их, нужно ли мне отправлять 404 NOT Found в ответ, если один из них не определен?**

Спасибо за ваши рекомендации

Комментарии:

1. Определенно, это был бы запрос PUT с ответом тела с количеством обновленных строк. По крайней мере, я бы сделал это именно так.

2. HTTP не идеален для пакетной обработки. Т.Е. пакетное обновление коллекции не означает автоматически, что все затронутые записи должны быть признаны недействительными в определенном (промежуточном) кэше. Поэтому клиенты могут по-прежнему обслуживаться кэшем, хотя информация уже устарела. Поскольку кэширование является ограничением, а не опцией, которую вы добавляете, если хотите в REST, вам, вероятно, следует спроектировать свою систему так, чтобы она работала с кэшированием. Конвейерная обработка может использоваться для отправки нескольких запросов по одному и тому же соединению, чтобы подделать пакетное обновление