Spring Cloud Skipper通过REST API上传包失败,求正确上传方法
Skipper Server 包上传REST API正确使用方法
原请求错误原因
- 请求头配置冲突:手动指定了
Content-Type: application/json;charset=UTF-8,但文件上传使用multipart表单提交,两者格式不兼容,会导致服务端无法正常解析请求体。 - curl文件上传语法错误:
-F参数传递本地文件时,路径前必须加@前缀,否则curl仅会将路径字符串作为普通表单字段提交,不会上传本地文件内容。
正确curl命令
curl 'http://localhost:7577/api/package/upload' -i -X POST \ -H 'Accept: application/json' \ -F 'data=@/home/user1/helloworld-1.0.0.zip'
Postman 操作步骤
- 新建POST请求,地址填写
http://localhost:7577/api/package/upload - 无需手动配置
Content-Type请求头,Postman会根据表单内容自动生成正确的multipart相关头信息 - 切换到Body标签,选择
form-data类型,新增键为data的字段,将字段类型从默认的Text改为File,在值列选择本地的helloworld安装包文件 - 点击Send提交请求,返回200状态码且包信息出现在响应体中即为上传成功
结果验证
上传完成后可执行以下命令查询已上传包列表,确认helloworld 1.0.0版本存在即可:
curl http://localhost:7577/api/package
内容的提问来源于stack exchange,提问作者truongdx79
相关产品推荐
相关产品推荐

