Passer un paramètre dans la fonction httpClient.get()

Bonjour à tous, j'essaye d'envoyer depuis mon front les paramètres de recherche sélectionné par un utilisateur et de les récupérer dans mon back. Malheureusement je n'y arrive pas si quelqu'un a déjà fait face a ce problème un peu d'aide ne serait pas de refus ^^

code front :

 var selectedOption = '_id';
httpClient.get('../api/HelloWorld/search_test/',selectedOption).then((response) => {
console.log(response); 
 
});

selectedOption étant le paramètre que je souhaite passé du front au back ^^

code Back :

  server.route({ 


path: '/api/HelloWorld/search_test/',
method: 'GET',

handler(req, reply) {
  
 
  var select = req.params.selectedOption;
        // requète elastic search
  return  client.search({
    //req.params permet de récupérer les varaible envoyé dans le get
    "index": index,
    "type": '_doc',
    "body": {
      "_source":"customer_first_name",
      "query": {
        "query_string" : {
          //on cherche des therme dans le champ id
            "fields" : [select],
            "query" : variableIdentifier,
            "tie_breaker" : 0
        }          
      }
    }
  }).then(function (result) { // section de retour erreur et resultat de la recherche
      var result = result.hits.hits;
      return result;
}, function (error) {

});
	}});

Merci d'avance :wink:

Simon ledoit

As-tu moyen de montrer la requête du coup qui est envoyée vers Elasticsearch?

Genre ça vaut quoi ça:

{
  "_source":"customer_first_name",
  "query": {
    "query_string" : {
      //on cherche des therme dans le champ id
        "fields" : [select],
        "query" : variableIdentifier,
        "tie_breaker" : 0
    }          
  }
}

La requête envoyé à ElasticSearch n'est pas affiché mais avec ce code je dis que je veux récupérer seulement le champ "customer_first_name" des utilisateurs ayant pour id (ici select) variable identifier qui est instancié au préalable

const index = 'kibana_sample_data_ecommerce';

const variableIdentifier = "vJz2sGoBtbU1hayKOsCc"

Tu dois sans doute pouvoir mettre dans la console le JSON qui est envoyé.

Mais le soucis ne se trouve pas dans ma recherche car si je remplace

"fields" : [select],

par:

"fields" : ['id'],

elle marche.
Le soucis étant seulement que la transmission de ma variable stocké dans mon front ne marche pas

de plus je n'arrive pas à utiliser la console pour afficher ma requête :sweat_smile:

C'est donc un problème d'écriture de code Javascript et non un problème Elasticsearch alors ?

Peut être j'ai commencé javascript a peu prés au même moment qu'ElasticSearch j'ai donc parfois des problème pour identifier d'où vient le bug. :weary:
Tout ce que je peux dire et affirmer c'est que ma requête elasticsearch marchait jusque là mais maintenant que je veux transmettre mes données du front au back elle ne marche plus :thinking:

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.