2017-12-13 2 views
0

Ich habe das folgende Problem beim Versuch, mehrere Abfrageparameter in den URI einer REST-API einzufügen.Warum erhalte ich diesen Syntaxfehler, wenn ich versuche, eine WSO2-ESB-API mit mehreren URI-Abfrageparametern zu speichern?

Ich habe die folgende Situation. Unter Verwendung einer URL mit einer einzigen Abfrage-Parameter (process_phase_id = {process_phase_id}) es funktioniert gut, so etwas wie dieses:

<?xml version="1.0" encoding="UTF-8"?> 
<api context="/enutrifood/bylocation" name="ENutriFoodByLocation" xmlns="http://ws.apache.org/ns/synapse"> 
    <resource methods="GET" uri-template="/{localizationId}/messages?process_phase_id={process_phase_id}"> 
    ............................................................... 
    ............................................................... 
    ............................................................... 

Aber wenn ich Parameter mehrere Abfrage geteilt durch die & Symbol, so etwas wie dieses :

<?xml version="1.0" encoding="UTF-8"?> 
<api context="/enutrifood/bylocation" name="ENutriFoodByLocation" xmlns="http://ws.apache.org/ns/synapse"> 
    <resource methods="GET" uri-template="/{localizationId}/messages?process_phase_id={process_phase_id}&q2={v2}"> 
    ............................................................... 
    ............................................................... 
    ............................................................... 

Wie Sie nun die 2 Parameter haben Ressource sehen:

Jetzt

, wenn ich meine API speichern ich Erhalten dieser Syntaxfehlermeldung:

enter image description here

Warum? Was könnte das Problem sein? Was vermisse ich? Habe ich vielleicht in irgendeiner Weise die & Zeichen zu entkommen? Wie kann ich dieses Problem beheben und mehrere Abfrageparameter in meiner API verwenden?

Antwort

2

Da dies eine XML-Konfigurationsdatei ist, müssen Sie die & zu &amp; zu entkommen.

In XML gibt & den Beginn einer XML-Entität an (die durch eine ; beendet wird). Um ein aktuelles & in Ihrem Dokument zu haben, müssen Sie es entkommen.

In Bezug auf die Fehler in Ihrem Dokument, der Parser q2 als der Name des Unternehmens, aber nicht mehr an den = Parsen und kommt zu dem Schluss, dass Sie einen Syntaxfehler haben, da sie nicht sahen das ein ; beenden Entität.

Verwandte Themen