2017-12-04 4 views
0

Ich habe einige Probleme mit meiner RAML-Datei.RAML, Anforderungsparameter Titel nicht definiert

, wenn ich diese URL in GET rufen:

mysite.com/test/nextversion?msn=xxx&ata=xx&title=xxx 

es mir sagt, dass die Parameter nicht definiert sind:

"Request parameter msn not defined in RAML\nRequest parameter title not defined in RAML\nRequest parameter ata not defined in RAML" 

Dies ist meine RAML Definition:

/test/nextversion: 
    get: 
    queryParameters: 
     msn: 
     description: msn id 
     type: string 
     required: false 
     title: 
     description: ata title 
     type: string 
     required: false 
     ata: 
     description: ata id 
     type: string 
     required: false 
    responses: 
     200: 
     description: OK 
     body: 
      application/json: 
      type: string 
     550: 
     body: 
      application/json: 
      type: DefaultResponse 

/test/{ipid}/nextversion: 
    uriParameters: 
    ipid: 
     type: string 
    get: 
    responses: 
     200: 
     description: OK 
     body: 
      application/json: 
      type: string 
     550: 
     body: 
      application/json: 
      type: DefaultResponse 

Jetzt Ich habe bemerkt, dass es immer in die zweite Ursache geht, wenn ich die erste Definition entferne, gibt es mir denselben Fehler, sogar du Bitte sagen Sie mir, dass es die richtige Definition nicht finden kann. Wenn ich die zweite Definition entferne, funktioniert es gut, aber ich habe einen anderen Endpunkt abhängig von diesem.

Kann mir jemand erklären, warum das in meiner RAML-Datei nicht funktioniert?

Antwort

0

Es scheint alles um die Reihenfolge der RAML-URL-Definitionen zu gehen.

Es sollte vom am meisten spezifischen zum allgemeinsten Fall gehen, weil der RAML bei der ersten URL-Definition stoppt, die passt, die nicht immer die richtige ist.

In meinem Fall ging die Anfrage tatsächlich in eine URL-Definition, die vor den in meiner Frage beschriebenen definiert wurde, weil sie der URL-Definition minus allem, was danach kam, entsprach.