记一次Yapi上传报错及其处理方式
开发背景
本次开发是在比较老的项目中进行开发的,其中注入方式采用的是javax.ws.rs以及getBean的方式获取javaBean,部署方式是采用传统的tomcat部署,暴露接口是采用restTemplate或者httpClient方式去调用。前后端联调时文档输出采用的是yapi共享,于是和往常一样做了yapi配置,向服务器发布接口信息,但遇到了报错,经过排查找到了原因,因此记录日志,以帮助以后出现同样错误的铁汁。
报错信息
sorry ,upload api error cause:请求参数 data.path 不应少于 1 个字符
yapi配置
<component name="yapi">
<option name="projectToken">c0efbc59287c9cad2af80aba9ccd9ce28d934640d983a864aa4e22c615dded76</option>
<option name="projectId">479</option>
<option name="yapiUrl">https://calvinxie.com</option>
<option name="projectType">api</option>
</component>
接口配置
@GET
@Path("/getSpaceList")
..............................
@POST
@Path("/getBizConfigList")
错误排查
怀疑yapi地址无法解析
最开始怀疑是yapi地址配置问题,yapi插件不能自动解析DNS,后改为ip +port 模式后重试,依然报错,报错信息如下:
sorry ,upload api error cause:请求参数 data.path 不应少于 1 个字符
接口方式原因,yapi不支持非spring注解
代码修改:
@GetMapping("/getSpaceList")
.................................
@PostMapping("/getBizConfigList")
结果:
success ,url: http://calvinxie.com/project/479/interface/api/cat_376
最后:
最后将spring注解修改为javax.ws.rs注解,既不影响代码打包也不影响文档发布,大工告成。
总结
yapi目前不支持非spring注解的上传,如果有类似我本次采用javax.ws.rs包下注解的朋友可以试下我这种方式处理。
|