Ruby possède les utilitaires permettant d'effectuer des requêtes HTTP, toutefois la librairie Faraday en rend l'implémentation plus agréable.
client.rb
require "bundler/inline"
gemfile do
source "http://rubygems.org"
gem "faraday"
end
require "faraday"
response = Faraday.get("http://localhost:4567")
p(response)
puts(response.body)
# Si on reutilise le meme service pour plusieurs requetes
# on peut preparer une connexion reutilisable
connection = Faraday.new("http://localhost:4567")
response = connection.get("/about")
puts(response.body)
# Avec un parametre dans la QUERY STRING
response = connection.post("/greetings-query") do |request|
request.params["name"] = "james"
end
puts(response.body)
# Avec un parametre dans le BODY
connection.post("/greetings-body", "james")
#
# Interpreter une reponse JSON
#
# Tableau JSON
response = connection.get("/response-array-json")
p(response.body)
array = JSON.parse(response.body)
p(array)
array.each do |v|
puts(v * 2)
end
# Objet JSON
response = connection.get("/response-hash")
user = JSON.parse(response.body)
puts("Bonjour #{user["firstname"]} #{user["lastname"]}")
Implémenter un client en Ruby qui utilise la librairie Faraday pour exploiter les fonctionnalités du service web Multiplicator.
Exemples d'exécution
Nombre:
Format:
Fournir un entier positif!
Nombre: 4
Format:
1 * 4 = 4
2 * 4 = 8
3 * 4 = 12
4 * 4 = 16
Nombre: 4
Format: patate
1 * 4 = 4
2 * 4 = 8
3 * 4 = 12
4 * 4 = 16
Nombre: 4
Format: json
[
{
"multiplicand": 1,
"multiplier": 4,
"product": 4
},
{
"multiplicand": 2,
"multiplier": 4,
"product": 8
},
{
"multiplicand": 3,
"multiplier": 4,
"product": 12
},
{
"multiplicand": 4,
"multiplier": 4,
"product": 16
},
]