2017-08-02 2 views
0

J'envoie la requête HTTP de l'application 1demande http Groovy, en-têtes parse valeurs

http://localhost:8888/inputs/example-input?ProductId=49823&Orders_orderId=27759 

à l'application 2.

et en application 2 Je suis reciving chaîne simple:

inputs/example-input?ProductId=49823&Orders_orderId=27759 

Je dois obtenir des valeurs dans leurs propres variables comme indiqué:

def productId = 49823 
def orderId = 27759 

Existe-t-il un moyen génial d'analyser la chaîne d'entrée inputs/example-input?ProductId=49823&Orders_orderId=27759?

+0

S'il vous plaît améliorer votre qualité de question en fournissant un [** exemple minimal, complet et **] (Vérifiable https: // stackoverflow. com/help/mcve) –

Répondre

3

Vous devez analyser l'entrée manuellement, par exemple:

def input = "inputs/example-input?ProductId=49823&Orders_orderId=27759" 
def parsed = input 
    .split("\\?")[1] 
    .split("&") 
    .inject([:]) { m, e -> 
     def arr = e.split("=") 
     m[arr[0]] = arr[1] 
     m 
    } 

def productId = parsed.ProductId 
def orderId = parsed.Orders_orderId 
assert productId == '49823' 
assert orderId == '27759'