2010-08-12 4 views
0

Salut à tous, j'ai un client qui intègre un site Rails 1.2.6 avec un autre site qui expose les services RESTfully. La mise à niveau vers Rails 2.x n'est pas une option pour le moment. Quelqu'un at-il des recommandations pour des méthodes autres que les appels directs Net :: HTTP pour communiquer avec le service REST? Les techniques ou recommandations Gem sont les bienvenues, mais la plupart des gemmes que j'ai vues semblent avoir une dépendance à ActiveSupport 2.x, ce que je comprends être incompatible avec Rails 1.x.Rails client 1.x parlant au serveur RESTful

Merci d'avance pour toute contribution que vous pouvez fournir.

Répondre

0

Merci Chris Heald pour votre réponse. J'ai fini par utiliser Net :: HTTP parce que c'était plus simple que je ne le pensais à la fin. HTTParty a l'air de rendre cela encore plus facile, mais pour le bénéfice des futurs utilisateurs de ce problème, voici ce que j'ai fait.

# Assume @user_name and @password were previously declared to be the 
# appropriate basic auth values and that the connection is open as @connection 
    def put(path, body, header={}) 
    request = Net::HTTP::Put.new(path, header.merge({'Accept' => 'application/xml,application/json', 'Content-type'=>'application/json'})) 
    request.basic_auth(@user_name, @password) 
    @connection.request(request, body).body 
    end 

    def post(path, body, header={}) 
    request = Net::HTTP::Post.new(path, header.merge({'Accept' => 'application/xml,application/json', 'Content-type'=>'application/json'})) 
    request.basic_auth(@user_name, @password) 
    @connection.request(request, body).body 
    end 

    def get(path, header={}) 
    request = Net::HTTP::Get.new(path) 
    request.basic_auth(@user_name, @password) 
    @connection.request(request).body 
    end 

J'ai alors appelé JSON :: parse() sur la sortie de ces méthodes et a obtenu un hachage représentant le JSON que je pouvais utiliser comme je l'ai jugé bon.

+0

Merci d'avoir posté votre solution. Je viens de rencontrer le même problème et j'étais très heureux de trouver un schéma aussi utile à suivre. – cnk

1

Essayez HTTParty. Il est très léger sur les dépendances, et rend le braindead-facile d'ajouter la consommation de ressources JSON ou XML à une application.

Questions connexes