Partie client API:client
Dans cette section, nous allons découvrir comment créer un client qui envoie des requêtes. Le code est disponible dans la classe ClientApp et le serveur est défini dans la classe IClientService. API:serveur
1. Définition du client
Pour créer un client, il faut définir plusieurs éléments :
-
Un acteur système implicite.
-
Un contexte d’exécution implicite.
Comme dans la partie serveur, nous allons prendre un ActorSystem et un ExecutionContext par défaut. Future:ExecutionContext
implicit val system: ActorSystem = ActorSystem("client-app")
implicit val executor: ExecutionContext = system.dispatcher
Pour pouvoir lancer des requêtes, on crée un objet de type HttpExt avec le constructeur Http.
private val http = Http()
Avec cet objet, on peut exécuter des requêtes de type HttpRequest avec la méthode singleRequest.
2. Création d’une requête API:requête
Une requête est représentée par un objet de type HttpRequest. Elle est constituée des éléments suivants :
-
Une méthode, par défaut Get.
-
Une URI, par défaut définie à "/".
-
Une séquence de headers, par défaut Nil.
-
Une entité, par défaut un corps vide.
-
Un protocole HTTP, par défaut "HTTP/1.1".
Les méthodes Http sont listées dans l’objet HttpMethods ; on y retrouve les méthodes abordées...