Как правильно проектировать обновление в REST?
#rest #architecture
Вот, что следует учесть при проектирование endpoint-ов, которые будут обновлять состояние ресурсов:
❓Необходимо полное (PUT) или частичное обновление (PATCH)? Возможно, необходимы оба способа. В блоге Postman на этой неделе была статья What We Learned from 200,000 OpenAPI Files. Из нее можно увидеть, что в среднем PUT используется в 10 раз чаще чем PATCH.
❓Должен ли сервер проверять, что клиент использует последнюю версию ресурса? Если это необходимо, то необходимы заголовки Etag и If-Match. Если версия ресурса описанная Etag-м на клиенте и сервере отличается, то сервер выдаст ошибку с 412 кодом (Precondition Failed).
❓Что мы редактируем, сущность или коллекцию сущностей? Для редактирования отдельной сущности (
#rest #architecture
Вот, что следует учесть при проектирование endpoint-ов, которые будут обновлять состояние ресурсов:
❓Необходимо полное (PUT) или частичное обновление (PATCH)? Возможно, необходимы оба способа. В блоге Postman на этой неделе была статья What We Learned from 200,000 OpenAPI Files. Из нее можно увидеть, что в среднем PUT используется в 10 раз чаще чем PATCH.
❓Должен ли сервер проверять, что клиент использует последнюю версию ресурса? Если это необходимо, то необходимы заголовки Etag и If-Match. Если версия ресурса описанная Etag-м на клиенте и сервере отличается, то сервер выдаст ошибку с 412 кодом (Precondition Failed).
❓Что мы редактируем, сущность или коллекцию сущностей? Для редактирования отдельной сущности (
/todos/:id) подойдут и PUT, и PATCH. Но при редактирование коллекции (/todos/) стоит использовать PATCH с body в формате JSON Patch.Context Aware Content Discovery: The Natural Evolution
#rest #worth_seeing
Идея сегодняшнего видео проанализировать как скрапинг контента меняется при работе с API по сравнению с файловыми серверами. Чтобы это сделать, команда из Assetnote собрала из открытых источников Open API Specs, проанализировала тысячи апи и их реализации. Компания занимаются безопасностью, поэтому они выкладывают свои инструменты в OpenSource.
Видео это фундаментальное отчет-исследование. Рекомендую посмотреть целиком особенно если вы занимаетесь парсингом.
Слайды
#rest #worth_seeing
Идея сегодняшнего видео проанализировать как скрапинг контента меняется при работе с API по сравнению с файловыми серверами. Чтобы это сделать, команда из Assetnote собрала из открытых источников Open API Specs, проанализировала тысячи апи и их реализации. Компания занимаются безопасностью, поэтому они выкладывают свои инструменты в OpenSource.
Видео это фундаментальное отчет-исследование. Рекомендую посмотреть целиком особенно если вы занимаетесь парсингом.
Слайды
YouTube
"Context Aware Content Discovery: The Natural Evolution"
Presented by Sean Yeoh, Patrick Mortensen, Michael Gianarakis, Shubham Shah
BSides Canberra 2021, 9-10 April
BSides Canberra 2021, 9-10 April