Если сервер корректно обработал запрос, то ответ у нас не должен говорить, что произошла ошибка.
В респонсе должны возвращаться статусы ошибок, которые можно сопоставить с http кодами. НО использовать все (около 70) коды — нецелесообразно, лучше ограничитьтся 3-10 вариантов, чтоб не запутывать разработчиков и тестровщиков.
Возможно только 3 варианта ответов API:
- Запрос прошел успешно (200 — OK, 201: Created, 204 — no content, 304 Not Modified (Данные не изменились))
- Клиент отправил некорректный запрос — возвращаем клиентские ошибки (400 Bad Request, 401: Unauthorized,403: Forbidden, 405: Method Not Allowed, )
- Произошла ошибка при обработке данных — серверная ошибка (500 Internal server Error, 503: Service Unavailable,501: Not Implemented)
Если 3-х кодов вам недостаточно — возьмите еще:
- 201 Created (Запись создана)
- 204 No Content
- 304 Not Modified (Данные не изменились)
- 404 Not Found (Данные не найдены)
- 401 Unauthorized (Неавторизованный доступ)
- 403 Forbidden (Доступ запрещен)
Рассмотрим на примере поиска пользователя по имени.
VK API [PHP Devel Studio] [Урок #5] — РЕШЕНИЕ ОШИБКИ
Например, я отправляю GET /users=?name=Ivan
но нет у нас ни одного Ivan’а в базе, тогда я ожидаю, что сервер мне сообщит о том, что ни одного Ivan’а не найдено.
Сервер отработал корректно, покопался в базе, увидел что никакого Ivan’а нет, значит он должен мне вернуть успешный ответ и пустой список пользователей.
200 и пустое тело ответа — это минимум, что я должна получить
204 -No Content, не отсылается обычно для GET запросов, но отсылается для POST, PUT, UPDATE, DELETE нет
Неправильно отображать 404 в коде ответа: Если я получаю 404 — то в той же консоли браузера у меня будет отображаться красная ошибка. Ошибка в консоли -это свидетельство того, что что-то пошло не так. А у нас все по плану — поискали, не нашли никого. кроме того, у нас в статистике (кибана и прочие) мы увидим некорректный результат по ошибкам приложения.
Сервер корректно обработал запрос — вернули «Запрос прошел успешно»
Клиент прислал некорректный запрос и сервер понимает, что клиент в запросе отправил что-то невалидное = возвращаем вариации 4ХХ
Сервер не смог обработать запрос — возвращаем ошибки сервера.
некорректно отправленный с клиента запрос =
Источник: qsusha.wordpress.com
Как узнать номер ошибки vk api?
Получаю ошибку «vk.exceptions.VkAPIError: 7.»
Как мне вытащить из неё цифру семь?
В моём случае при использовании одного из методов может вернуть не одну ошибку. Это либо 15, либо 6. Не суть, какое у них значение, а суть, программе их нужно как-то различать. И желательно сделать это с помощью модуля «vk». Напрямую, с использованием запросов, я могу получить их номер, но вдруг есть способ получать их с использованием этого модуля? Эту ошибку даже при использовании исключений никак нельзя положить в переменную, чтобы потом, к примеру, распарсить по знаку пробела.
SwiftUI + VK api. Авторизация и список друзей ВК
- Вопрос задан более трёх лет назад
- 335 просмотров
Решения вопроса 1
try: api.photos.getOwnerPhotoUploadServer #нужный метод except Exception as e: print(e.code) #код ошибки print(e.message) #текст ошибки
Ответ написан более трёх лет назад
Нравится Комментировать
Ответы на вопрос 0
Ваш ответ на вопрос
Войдите, чтобы написать ответ
- Python
- +2 ещё
Aiogram + Fastapi + SQLAlchemy?
- 1 подписчик
- час назад
- 15 просмотров
Источник: qna.habr.com
Vk api ошибки коды
Ответ приходит такой:
12.11.2011, 22:49
Регистрация: Aug 2011
Адрес: 56° 51′ с.ш. 53° 13′ в.д.
Сообщений: 172
Записей в блоге: 1
а во флешварс у вас данные есть?
Добавлено через 1 минуту
Установите приложение ВКонтакт, там получите апп-ид. вместе с библиотекой ВК идет TestApp.as — там наглядно описан процесс тестирования
12.11.2011, 22:53
Регистрация: Jan 2009
Сообщений: 3,067
Записей в блоге: 3
Как инициализируете?
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку.
12.11.2011, 22:59
[+1 05.11.11]
[+1 09.08.11]
Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
Скорее всего тут просто меняется SID. Механизм его смены мне не понятен. В некоторых приложениях меняется раз в сутки, в некоторых при каждом запуске.
Советую сделать какой-то приложение, выводящее все данные, которые передаются во флешварс, запускать его вместо своего, смотреть какие там данные, вписывать их в свое приложение, и после этого тестировать
12.11.2011, 23:01
Регистрация: Aug 2011
Адрес: 56° 51′ с.ш. 53° 13′ в.д.
Сообщений: 172
Записей в блоге: 1
var flashVars: Object = stage.loaderInfo.parameters as Object; if (flashVars.api_id) { tf.appendText(«n// — Your code for local testing:n»); tf.appendText(«flashVars[‘api_id’] = » + flashVars[‘api_id’] + «;n»); tf.appendText(«flashVars[‘viewer_id’] = » + flashVars[‘viewer_id’] + «;n»); tf.appendText(«flashVars[‘sid’] = «» + flashVars[‘sid’] + «»;n»); tf.appendText(«flashVars[‘secret’] = «» + flashVars[‘secret’] + «»;n»); tf.appendText(«// — //nn»); } else { flashVars[‘api_id’] = //Ваше значение//; flashVars[‘viewer_id’] = //Ваше значение//; flashVars[‘sid’] = //Ваше значение//; flashVars[‘secret’] = //Ваше значение//; } if (!flashVars.api_id) tf.appendText(«n[!] Launch application on VK to get your test-code for local testingnn»); var VK: APIConnection = new APIConnection(flashVars);
вот как-то так надо
23.11.2011, 16:59
Регистрация: Oct 2010
Сообщений: 12
А в чем в итоге причина данной ошибки? У меня сейчас такая же.
Часовой пояс GMT +4, время: 07:04 . |
Опции просмотра |
Линейный вид |
Комбинированный вид |
Древовидный вид |
Источник: flasher.ru