我在配置规范中定义了以下API:
"paths": {
"/handler/v1/fetch/{mode}": {
"post": {
"operationId": "ApihandlerFetch",
"parameters": [
{
"name": "mode",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "y",
"in": "query",
"required": false,
"type": "integer",
"format": "int32"
},
{
"name": "m",
"in": "query",
"required": false,
"type": "integer",
"format": "int32"
},
{
"name": "d",
"in": "query",
"required": false,
"type": "integer",
"format": "int32"
}
],
以下curl请求失败,并显示错误消息“global.badrequest”
curl -d '{}' "https://xxxxx.appspot.com/_ah/api/handler/v1/fetch/latest"
"error": {
"errors": [
{
"domain": "global",
"reason": "badRequest",
"message": "java.lang.IllegalArgumentException"
}
],
"code": 400,
"message": "java.lang.IllegalArgumentException"
}
}
但是当其他查询参数定义为这样的值时,它会起作用:
curl -d '' "https://xxxx.appspot.com/_ah/api/handler/v1/fetch/date?y=2017&m=11&d=27"
我是否误解了Google App Engine端点框架v2中查询参数的整体概念,并且参数应该是URL的一部分,无论它们是否具有值(即:http://...?y=&m=&d)。< / p>