我的RAML文件有问题。
当我在GET中调用此URL时:
mysite.com/test/nextversion?msn=xxx&ata=xx&title=xxx
它告诉我参数未定义:
"Request parameter msn not defined in RAML\nRequest parameter title not defined in RAML\nRequest parameter ata not defined in RAML"
这是我的RAML定义:
/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
现在我注意到它总是进入第二个原因当我删除第一个定义它给我同样的错误,即使它告诉我它无法找到正确的定义。 当我删除第二个定义时它工作正常,但我有另一个端点,具体取决于那个。
有人可以向我解释为什么这在我的RAML文件中不起作用吗?
答案 0 :(得分:0)
似乎所有关于RAML网址定义的顺序。
它应该从最具体到最常见的情况,因为RAML将停在适合的第一个url定义,这并不总是正确的。
在我的情况下,请求实际上是在我的问题中描述的定义之前定义的url定义,因为它适合url定义减去后面的所有内容。