标题可能看起来很普通,但是没有一个适合我的问题.

我有一个REST服务,它接受多部分形式的常规参数和文件.

我想使用resttemplate将数据和文件发送到上述rest服务.

直到我发送正常的字符串数据为止,没有任何问题.一旦我添加了发送字节的代码,那么我开始收到400错误的请求错误.

如果我注释了发送ByteArrayResource的代码,那么它将开始为正常参数工作.

下面是示例代码

休息服务控制器

@RestController

@RequestMapping(value="/ticket")

public class UserTicketController {

@RequestMapping(value="/createTicket.do",method={RequestMethod.POST},

consumes = {MediaType.MULTIPART_FORM_DATA_VALUE},headers={"content-type="+MediaType.MULTIPART_FORM_DATA_VALUE})

public void createTicket(@ModelAttribute ServiceDeskRequest serviceDeskRequest, HttpServletRequest request,HttpServletResponse response) throws Exception{

}

}

Servicedeskrequest模型属性为

public class ServiceDeskRequest implements Serializable{

private String jsonData;

private MultipartFile attachment;

}

应用程序的context.xml

客户端代码

RestTemplate restTemplate = new RestTemplate();

MultiValueMap requestParamerterMap = new LinkedMultiValueMap();

requestParamerterMap.add("jsonData", jsonData);

MultipartFile attachment = userRequest.getAttachment();

if(attachment!=null && attachment.getOriginalFilename()!=null) {

ByteArrayResource byteArrayResource = new ByteArrayResource(attachment.getBytes(), attachment.getOriginalFilename());

requestParamerterMap.add("attachment", byteArrayResource);

}

HttpHeaders headers = new HttpHeaders();

headers.setContentType(MediaType.MULTIPART_FORM_DATA);

HttpEntity> requestEntity = new HttpEntity>(requestParamerterMap, headers);

String response = restTemplate.postForObject(targetUrl, requestEntity, String.class);

java resttemplate_java-通过resttemplate通过Spring Rest服务发送文...相关推荐

  1. Java 集成阿里大鱼平台短信服务发送验证码到手机

    点击前往:阿里大鱼 --- 短信接口调用错误码(错误原因及处理方式) 上一篇:阿里大鱼短信服务 --- 发送验证码.短信通知 下一篇:Java 集成阿里大鱼平台短信服务发送验证码 --- 补齐注册部分 ...

  2. Java 集成阿里大鱼平台短信服务发送验证码 --- 补齐注册部分

    下一篇:使用 Redis 用户登录,整合JWT 依旧是之前的分析图 1.后端 注册前需要再次进行服务端校验 用户名是否已被注册 手机号是否已被注册 验证码是否错误 验证码是否实现 密码使用 BCryp ...

  3. 阿里云 Java发布SpringBoot项目,使用邮件服务发送失败原因整理

    查了很多失败原因大致有一下几点: 使用了25端口,阿里云默认是禁用掉25端口的,看看能否通 解决办法:代码配置中指定为465端口 telnet smtp.163.com 25 2.使用465端口,依旧 ...

  4. 【spring boot】使用RestTemplate调用百度坐标转换服务

    前言 spring boot 2.0.0.RELEASE http://api.map.baidu.com/geoconv/v1/?coords=114.21892734521,29.57542977 ...

  5. java spr_Java中的42行代码中的URL缩短器服务(Java(?!)Spring Boot + Redis

    java spr 显然,编写URL缩短服务是新的" Hello,world! "在IoT /微服务/时代的世界中. 一切始于在45行Scala中的URL缩短服务 -整洁的Scala ...

  6. Java中的42行代码中的URL缩短服务— Java(?!)Spring Boot + Redis

    显然,编写URL缩短服务是新的" Hello,world! "在IoT /微服务/时代的世界中. 一切始于在45行Scala中的URL缩短服务 -整洁的Scala,以Spray和R ...

  7. java 微服务实践 视频,全新JAVA微服为务实战Spring Boot系列视频教程 小马哥 JAVA微服务实践视频课程...

    全新JAVA微服为务实战Spring Boot系列视频教程 小马哥 JAVA微服务实践视频课程 ===============课程目录=============== ├─(1) 03Java 微服务实 ...

  8. Dubbo 3.0 前瞻:重塑 Spring Cloud 服务治理

    作者 | 小马哥 **导读:**Dubbo 社区策划了[Dubbo 云原生之路]系列文章,和大家一起回顾 Apache Dubbo 产品和社区的发展,并展望未来发展.系列文章主要涵盖 Dubbo 技术 ...

  9. 使用RestTemplate模版实现 Rest 服务调用、Swagger 集成、动态修改日志级别

    Spring 与 Restful 整合才是微架构的核心,虽然在整个 SpringBoot(SpringCloud)之中提供有大量的 服务方便整合,但是这些 整合都不如 Rest 重要,因为 Rest ...

最新文章

  1. linux top cpu核数查看,Linux怎么查看CPU核数?
  2. 感动!盲人计算机科学家研发语音浏览器,致力科技改善盲人生活
  3. Asp.net系列--基础篇(一)
  4. DL之PSPNet:PSPNet算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略
  5. RPM方式安装MySQL5.6和windows下安装mysql解压版
  6. tp5怎么生成短链接_请问在tp5中怎样才能使用url函数?
  7. java treemap_Java TreeMap lastKey()方法与示例
  8. Unity3D 与 objective-c 之间数据交互。iOS SDK接口封装Unity3D接口
  9. silverlight2.0 demo实例,源码下载
  10. LeetCode MySQL 550. 游戏玩法分析 IV
  11. js php 中文乱码怎么解决_php中文乱码怎么解决
  12. 浙江财经大学是一所怎样的学校?
  13. Android数据库操作-1
  14. 关于程序猿的六个问答题
  15. Python Jupyter QtConsole
  16. Java基础枚举(enum关键字)
  17. Java入门之窗口,精细全方位讲解,快乐学java铁铁们!
  18. centos linux远程桌面连接工具,VNC Viewer轻松连接远程CentOS6.8桌面
  19. Mapping映射入门
  20. MySQL超市会员管理系统_PHP+MYSQL药店会员管理系统的设计与实现

热门文章

  1. pytorch自定义数据集和数据加载器
  2. 集成方法Ensemble Method(bagging, AdaBoost)
  3. Redis系列四、redis的五种数据结构和相关指令之List
  4. 如何在摆摊经济中脱颖而出
  5. mysql slave同步_Slave_SQL_Running: No mysql同步故障解决方法
  6. js svg语音波动动画_11 个非常受欢迎的 JavaScript 动画库,值得学习!
  7. 台式电脑耳机插孔在哪_一图教你学会电脑主机后面各接口正确接线
  8. Spring事务操作-事务引入
  9. JAVA入门级教学之(char类型)
  10. 蛋糕是叫胚子还是坯子_教你做巧克力淋面蛋糕,掌握这个配比,好看又好吃,10分钟做一个...