Net :: HTTP peut être plutôt lourd pour le cas d'utilisation standard!Existe-t-il une alternative plus conviviale à Net :: HTTP pour interagir avec les API REST?
Répondre
Voici ce que j'utilise: http://rubyforge.org/projects/restful-rails/.
rest-open-uri est celui qui est largement utilisé dans le livre RESTful Web Services.
gem install rest-open-uri
Exemple d'utilisation:
response = open('https://wherever/foo',
:method => :put,
:http_basic_authentication => ['my-user', 'my-passwd'],
:body => 'payload')
puts response.read
Si vous avez seulement à traiter REST, la bibliothèque rest-client est fantastique.
Si les API que vous utilisez ne sont pas complètement RESTful - ou même si elles sont - HTTParty vaut vraiment le coup d'œil. Il simplifie l'utilisation des API REST, ainsi que des API Web non-RESTful. Consultez ce code (copié à partir du lien ci-dessus):
require 'rubygems'
require 'httparty'
class Representative
include HTTParty
format :xml
def self.find_by_zip(zip)
get('http://whoismyrepresentative.com/whoismyrep.php', :query => {:zip => zip})
end
end
puts Representative.find_by_zip(46544).inspect
# {"result"=>{"n"=>"1", "rep"=>{"name"=>"Joe Donnelly", "district"=>"2", "office"=>"1218 Longworth", "phone"=>"(202) 225-3915", "link"=>"http://donnelly.house.gov/", "state"=>"IN"}}}
HyperactiveResource est à ses débuts, mais il cherche plutôt bien.
Je suis un grand fan de rest-client, qui fait juste assez pour être utile sans gêner votre implémentation. Il gère intelligemment les exceptions et prend en charge la journalisation et l'authentification dès la sortie de la boîte.
Jetez un coup d'œil à asplake (c'est-à-dire) décrit _ routes et chemin d'accès aux projets/gemmes sur github (que je n'arrive pas à lier à partir d'ici) Path-to utilise HTTParty, mais plutôt que codé en dur URL comme certains des autres réponses à cette question, il utilise les métadonnées fournies par décrites _ routes. il y a plusieurs articles qui décrivent ces pierres précieuses à positiveincline.com, dont les plus pertinents à votre question est Nested path-to/described_routes and HTTParty.
Eh bien, il y a toujours ActiveResource, à condition que vous soyez sur Rails :)
Plus maintenant ... –
- 1. Existe-t-il une bibliothèque ou une API .NET pour interagir avec/modifier la métabase IIS?
- 2. Kit REST pour .Net?
- 3. Bonne alternative à GenuineChannels pour .net remoting
- 4. API iPhone pour l'accès à l'API REST d'Amazon S3
- 5. Alternative à FinalBuilder pour Mac OS X?
- 6. Est-ce une approche raisonnable pour l'authentification HTTP BASIC avec une clé API?
- 7. Alternative à Response.TransmitFile pour le transfert de fichiers via HTTP
- 8. Existe-t-il une bibliothèque Python pour interagir avec Genesys?
- 9. Une bibliothèque HTTP fiable pour .Net 2.0
- 10. interagir avec Apache en C#
- 11. Une alternative plus convaincante à l'icône du cylindre pour illustrer une base de données pour les utilisateurs finaux?
- 12. Alternative à l'implémentation URI de .NET?
- 13. C++ interagir avec une page Web dynamique?
- 14. API Mercurial pour .NET
- 15. Les navigateurs manipulent les flux pour apparaître avec une interface "conviviale"
- 16. Rechercher et remplacer dans les fichiers - syntaxe d'expression régulière .NET conviviale
- 17. Comment interagir avec vim?
- 18. Interagir avec SVN d'appengine
- 19. en utilisant django-rest-interface avec http put
- 20. Une alternative plus rapide à la fonction .html de jQuery?
- 21. . NET équivalent ou une alternative à Java GlyphVector?
- 22. Interagir avec SWF Loader
- 23. Travailler avec FedEx API et .Net
- 24. Une très bonne RichTextBox alternative pour
- 25. Quelle est la meilleure alternative à int.TryParse pour .net 1.1
- 26. Existe-t-il une alternative plus rapide et orientée objet à SDL pour C++?
- 27. API RESTful vs Web Service API
- 28. utilisant webbrowser pour interagir avec un contrôle Flash?
- 29. exceptions de mappage des codes d'état HTTP dans les services Web REST
- 30. Puis-je utiliser les clés publique/privée RSACryptoServiceProvider pour interagir avec Crypto ++?
Mon seul problème avec HTTParty est qu'il renvoie un hachage au lieu d'analyser le XML et de retourner un tableau de 'Re Présenter des objets avec des accesseurs d'attribut. Au lieu de renvoyer le hachage à partir de find_by_zip, j'ai construit moi-même un tableau d'objets représentatifs et je l'ai retourné. –