官方文档在这:
https://docs.camunda.org/rest/camunda-bpm-platform/7.19/
现象
engine-rest本是可以直接请求的,我把openapi导入到apifox之中了,我测试一下接口没有能请求成功的,基本都报以下的错。
报错如下
{
"type": "NotFoundException",
"message": "RESTEASY003870: Unable to extract parameter from http request: javax.ws.rs.QueryParam(\"firstResult\") value is ''",
"code": null
}
解决办法
这个坑花了我半天时间也没有解决,直到我偶尔使用浏览器请求以下地址,可以成功的请求。
http://localhost:8080/engine-rest/authorization?userIdIn=demo,jonny2
才发现原来这个坑是因apifox而起。
在apifox中把不需要传的参数前面的勾去掉。因为不去掉的话,apifox默认会传一个空的内容过去。如下:
http://localhost:8080/engine-rest/authorization?id=&type=&userIdIn=demo,jonny2&groupIdIn=&resourceType=&resourceId=&sortBy=&sortOrder=&firstResult=&maxResults=
这样就导致接口返回报错了。
如果手动去掉无用的参数后,请求内容就如下:
http://localhost:8080/engine-rest/authorization?userIdIn=demo,jonny2
总结
欲哭无泪,不经意间踩的坑几乎浪费了我一整天的时间。我甚至怀疑自己对文档的理解能力是不是有什么问题。为什么文档中说的那么简单我怎么试都无法成功。
收获不在要一颗树上吊死,我应该早一些换个工具来测试接口。或换个方法。
我一直怀疑是我写的接口路径有问题。