170 похожих чатов

Здравствуйте, в експрессе хочу создать роут для того, чтобы юзер

мог поменять ник. Вопрос, не могу определиться какой использовать шттп метод. POST, PATCH, PUT?

18 ответов

11 просмотров

В http спеке описаны смыслы методов

PATCH

один post роут на все вызовы в body передавай всё что хочешь влючая метод на который хочешь обратится а бек будет по нему ориентироваться и отвечать всегда 200 (а если ошибка присылать код ошибки) как по этой спецификации например https://www.jsonrpc.org/specification и не будешь зависить от хттп спецификаций которые пытаются залезть в логику твоих запросов и переложить на них то что не следует

Anton K.
один post роут на все вызовы в body передавай всё ...

Не люблю пользоваться такими апишками от них воротит... Но и полностью не следую Рест апи приколам Лишь гет и пост использую)

саша2007
Не люблю пользоваться такими апишками от них ворот...

они максимально удобны в плане отлова ошибок и нештатных ситуаций

Алексей Попов
Запахло graphql

вот такой подход транспорто независим только меняешь интерфейсы отправки / приемки

ответ от апи всегда 200 (даже при ошибке) то есть ожидаемые ошибки мы ловим в 200 в специальных полях и можем их удобно обработать все что не 200 неожидаемые ошибки - ошибки апи-сервера nginx и бог весть кого еще при которых надо вести себя по особенному но единообразно а если полагаются на спецификацию хттп протокола то приходится чекать разные коды смотреть что с них пришло в хедерах json-application / html text / + еще куча разных и выстраивать целый ряд проверок чтобы понять что же за ошибка и от кого пришла и как с ней быть и это только в плане простоты работы с ошибками

Anton K.
вот такой подход транспорто независим только меня...

Думаю, что не всегда есть необходимость менять транспорт. А rest хорошо потому, что (в каком-то виде) его все знают, он ожидаем. Если ты пишешь внутренний api, надо делать как удобно. А если внешний, то обычно приходится подстраиваться Идею с ответом 200 на бизнесовые ошибки я разделяю

Anton K.
ответ от апи всегда 200 (даже при ошибке) то ест...

Как раз то что ответ 200 и не очень Про чекать разные коды в основном проверяют только диапазоны по моему ибо ответ и так содержит более подробно то что произошло

саша2007
Как раз то что ответ 200 и не очень Про чекать раз...

когда придет сначала 404 с json внутри от апи сервера и ты распарсишь его (залогируя или отправив на фронт) (ожидая json) а потом придет 404 с html/text от nginx или apach (изза того что апи-сервак недоступен) и ты когда будешь его парсить и словишь неприятностей ибо там jsonа нет никакого

PUT если переданы всё свойства, PATCH если переданы частично

Anton K.
когда придет сначала 404 с json внутри от апи серв...

error_page 500 /500.html; location /500.html{ add_header 'Content-Type: application/json charset=UTF-8'; return 500 '{"error": {"status_code": 500,"status": "Internal Server Error"}}'; }

Artem Soroka
error_page 500 /500.html; location /500.html{ add_...

И как часто ты так nginx тюнишь чтобы он соответствовал ответам апи сервера? А если nginx обслуживает 2 апи сервера которые по разному отдают?)

Anton K.
И как часто ты так nginx тюнишь чтобы он соответст...

Это в конфиге проекта инклюдом подключается одной строчкой

Artem Soroka
Это в конфиге проекта инклюдом подключается одной ...

Звучит и выглядит как костыль про который надо всегда помнить

Похожие вопросы

Обсуждают сегодня

Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
> Копаем глубже > Следующий момент был, когда я спросил его, знает ли он JavaScript. Он ответил, что его учили работать с C#. Я тоже в университете писал на C#, но даже там мн...
Oleg Volkov
4
И никого не интересует какие пакеты кто использует. ((% Заходишь на сайт симфони и видишь поддержку Украины - по законам РФ это ж экстремизм. Только никто не отказывается от с...
Am Ambrion
11
лучше скажите, причём тут паскаль?
Alexey Kulakov
36
Чтобы перехватить все нажимания буков на форме, надо хук ставить? Пробовал на форме ОнКейДаун, оно ловит клаву если фокус не на компоненте с вводом текста
Serjone
15
Но, может, есть уже проверенная? Наши требования такие: 1. Сообщения должны приходить из Инста в CRM оду 2. Должна быть возможность подключить несколько экаунтов Инстаграм. Р...
Alexander Sharoiko MSE / Александр Шаройко
7
Народ! Впервые клиенту пришло письмо от РКН, у вас, дескать, есть яндекс метрика, а нигде не написано, что вы ее юзаете. Никто не сталкивался?
Sasha Beep
14
Всем привет! вывожу на общей стр дочерние ресурсыв каждом ресурсе галерея, и первая фотка должна выводиться на общей [!DocLister? &prepare=photo !]
Alekso
12
А можно вопрос? Мне сегодня сказали что у меня функция (которая просто заполняет массив значениями) не правильная void Full(double * arr, int n) { for (int i = 0; i < n; i...
† C E †
7
Добрый вечер. Хочу чтобы у меня в классе поле было функцией, которая возвращает строку. Делаю так: interface ... TGetOutPath = function : String of object; ... protec...
Kirill Filippenok
12
Карта сайта