CURL模拟Http请求上传文件和JSON数据

       最近在项目开发时,为了支持系统在持续集成时进行自动化,需要使用CURL模内系统的Spring Restful接口。系统中有个接口的功能是要满足同时上传文件和该文件的描述信息。经多次查阅资料后,找到如下解决办法,现分享给大家。

1. SpringRestful接口

@RequestMapping(method = RequestMethod.PUT,
            consumes = {"multipart/form-data"})
    @ResponseBody
    public Result updateAlgorithm(
            @RequestPart(value = "pluginFile", required = false)
                    MultipartFile pluginFile,
            @RequestPart("algorithm") Algorithm algorithm) {
        return Result.success(getAlgorithmManager().updateAlgorithm(
                algorithm, pluginFile, getCurrentUser()));
    }

2. POST请求

3. CURL命令

  curl -v -X PUT \
    http://abc.com/ds/v1/algorithms \
    -H 'Authorization: eyJhbGciOiJSUzI1NiJ9.eyJ1c2VybmFtZSI6InN1bnNvbmcwMSIsImV4cCI6MTY3MTcwNDczM30.SiDdIqGX0APj2CwZtrKPhB8QP6nHbF1DFxO8UDu9z5uoh-jRoyZMgWrdYIJRDmTc_DLal-9rNEJ6XCnPili0qQIOgP_MDpr-HHVK0n2eQMlxZg_5smCf5ao-pG2VCVIy-xE5fUz-JbmRZM7TDxlubsg5erZIc9zRaSIxxJwXFw7k_EGakchiwAaMe7pbNnUfk7CSyBn1em2PD0AJMf0Y6GmHshTD9T_cHH8s338g0eCs3U0a6FxswozXwsHlXHElAYSc-0n6RiDLd2ogyJSR_6cJCiHs1NX0RTgWB9PV8AI5SGiWf_MU5YnhTWVamN4r_9jP_bWodwg7jAk95aWPvg' \
    -H 'cache-control: no-cache' \
    -H 'Content-Type: multipart/form-data' \
    -F 'pluginFile=@/Users/xxx/download/smc-psi-plugin-release-2.0.2.0.tar.gz;type: application/x-gzip' \
    -F 'algorithm={"algorithmName":"psi","algorithmType":"dataVerify","algorithmTags":["SMC"],"partnerCategory":"2","creator":"xxx","sgxEnabled":0,"description":"","algorithmId":"algorithm-1575872280736-41"};type=application/json'

或者

 curl -v -X PUT \
   http://abc.com/ds/v1/algorithms \
   -H 'Authorization: eyJhbGciOiJSUzI1NiJ9.eyJ1c2VybmFtZSI6InN1bnNvbmcwMSIsImV4cCI6MTY3MTcwNDczM30.SiDdIqGX0APj2CwZtrKPhB8QP6nHbF1DFxO8UDu9z5uoh-jRoyZMgWrdYIJRDmTc_DLal-9rNEJ6XCnPili0qQIOgP_MDpr-HHVK0n2eQMlxZg_5smCf5ao-pG2VCVIy-xE5fUz-JbmRZM7TDxlubsg5erZIc9zRaSIxxJwXFw7k_EGakchiwAaMe7pbNnUfk7CSyBn1em2PD0AJMf0Y6GmHshTD9T_cHH8s338g0eCs3U0a6FxswozXwsHlXHElAYSc-0n6RiDLd2ogyJSR_6cJCiHs1NX0RTgWB9PV8AI5SGiWf_MU5YnhTWVamN4r_9jP_bWodwg7jAk95aWPvg' \
   -H 'cache-control: no-cache' \
   -H 'Content-Type: multipart/form-data' \
   -F 'pluginFile=@/Users/xxx/download/smc-psi-plugin-release-2.0.2.0.tar.gz;type: application/x-gzip' \
   -F 'algorithm=@/Users/xxx/download/algorithm.json;type=application/json'

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值