TGViewer
Node.js Recipes Node.js Recipes @node_recipes · 3.1K subscribers
Post #185 1.38K
Что такое JSON Patch?
#architecture

Для простоты примера рассмотрим Todo-list. Приходит задача добавить копирование одного todo элемента. Как вы ее спроектируете? Это реальный вопрос с собеседований.

Можно, переложить задачу на FE, чтобы он воспользовался существующим endpoint-ом для создания. Не удобно для массового копирования или добавления другой бизнес логики.

В REST существуют два метода для обновления PUT – полное обновление и PATCH – частичное. Мое решение поставленной задачи:

PATCH /todos
[{ "op": "copy", "from": "/todos/uuid", "path": "/todos/new-uuid" }]

Обратите внимание, что я использую PATCH не к отдельному элементу, а к ресурсу коллекции. За этим запросом стоит такая логика: FE генерирует новый UUID как и при создание, а потом говорит BE скопируй контент из существующего todo.

Тело запроса представляет собой JSON Patch, который описывает как изменить JSON документ. По сути это набор операций которые необходимо произвести над JSON документом. Большинство Web API состоят из JSON документов, поэтому можем использовать готовый RFC. Одна строничная документация с операциями и определением JSON Pointer по ссылке http://jsonpatch.com/
More from @node_recipes
  1. Jan 5, 2026По всьому світу проходять Cursor Meetups, де локальні спільноти діляться досвідом використ…
  2. Jan 5, 2026Думки на вихідних: Full Stack Learning Подивився останнє відео Сергія Немчинського про фул…
  3. Dec 31, 2025Залишаються лічені години 2025-го. І будьмо чесними: сам перехід на 2026-й нічого автомати…
  4. Dec 25, 2025Моє відкриття 2025 року, як доповідача, це Napkin.ai. На малюнку приклад того, як Napkin г…
  5. Dec 23, 2025А ось й ChatGPT додав 2025 review feature. Авжеж в мене half coded Nest.js app, як ще :)
  6. Dec 23, 2025Моє технічне відкриття 2025 року — centrifugal.dev У 2025-му я багато працював із реальним…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →