Как проверить успешный ответ от API в рельсах, просто используя код состояния? - PullRequest
1 голос
/ 27 мая 2019

Я использую API , используя гем в Ruby on Rails. Gem выполняет вызов API и возвращает код состояния в виде целого числа (например, 200, 201 и т. Д.) И ответа данных от API.

def get_cars
  status_code, data = MyGem::Cars.get_cars
  if status_code in SUCCESSFUL_RESPONSE_CODES
    # Perform data manipulation
  else
    raise "There was an error processing the request. Status code #{status_code}"
  end
end

Теперь я вручную инициализировал SUCCESSFUL_RESPONSE_CODES как список, содержащий целые числа успешных кодов, которые я нашел здесь .

Определен ли этот список где-нибудь в Ruby / RoR, чтобы не определять его вручную?

1 Ответ

2 голосов
/ 27 мая 2019

Я бы предположил, что любой широко поддерживаемый гем будет использовать стандартные коды ответов HTTP, чтобы определить, был ли ответ HTTP success.Например, если вы делаете следующее:

require 'open-uri'
res = open('http://example.com')
res.status
=> ["200","OK"]
status.include?'OK'
=>true
status.include?'200'
=> true

Пока вы доверяете гем-коду, который делает запрос на обработку стандартных кодов ответов HTTP, у вас все будет в порядке.Вот еще один пример использования HTTParty gem

require 'HTTParty'
res = HTTParty.get('https://example.com')
res.success?
=> true
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...