Question

J'essaye d'accéder à un service qui utilise le format url.www.example.com/api/API_KEY/action

Le code ci-dessous est un petit exemple de ce que j'essaie d'accomplir.

require 'httparty'

class MyAPI
  include HTTParty
  debug_output $stdout

  base_uri "example.com/api/#{@api_key}"

  def initialize(api_key)
     @api_key = api_key
  end

  def statistics
    return self.class.get("/statistics")
  end
end

La requête du serveur:

MyAPI.new('apikey').statistics

sort comme

GET /api//statistics

Je savais que c'était optimiste mais j'ai mis la variable api_key dans le base_uri.Comment puis-je faire en sorte que l'URL utilise la clé dynamique api_key?

Était-ce utile?

La solution

Il vous manque une méthode de lecture pour @api_key.

Ajoutez ce qui suit à votre classe pour autoriser la configuration de @api_key après l'initialisation.

attr_accessor :api_key

Ou ajoutez pour permettre sa lecture, mais pas plus tard.

attr_reader :api_key
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top