开发者社区> 问答> 正文

spring mvc的post请求接收@RequestBody的数据的问题? 400 报错

spring mvc的post请求接收@RequestBody的数据的问题? 400 报错

由于业务的要求,在controller中定义了一个post的请求外部系统向它来请求,然后controller中定义的方法是接收请求终端数据,但是发现接收到的数据格式不对,都把<>这样的标签显示成了如下:

%3Capi%3E%3Capi%3E%3Cuserid%3E004628%3C%2F

请求方发送的数据是这样的。

<api>
    <api>
        <userid>004628</userid>
......

这样就奇怪了为什么。为什么在controller中的post请求接收的问题,定义post的代码如下:


@RequestMapping(value = "/notify", method = RequestMethod.POST)
    // @RequestBody String requestBody
    public void payNotify(@RequestBody String requestBody)
    {
.....
 Systemout.println(requestBody);
// 打印出来的结果就是上面写的
    }


上面方法定义public void payNotify(ServletRequest request, ServletResponse response)这样的话,通过request的输入流来取为空,不知道有什么说法的在使用spring mvcding?


展开
收起
爱吃鱼的程序员 2020-06-02 14:09:16 1054 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    其实lz可以把你发送的数据文件做一个java VO的转换不是很好吗?就可以避免特殊符号转义的问题了。再者SpringMVC是支持传递对象的


    ######对啊,是xml的字符串数据,主要是不知道杀问题对返回的数据</>这个字符都给unicode了。######如果是xml的话你可以向着json这块来做。是一个道理。######人家给你传递的东西是什么格式?xml??######那你着手对这个进行特殊字符处理吧。我也不知道了。用第三方的蛋疼,呵呵######这个是第三方平台给我返回的数据,本地是定义了一个vo,是用来解析返回成vo对象的。
    2020-06-02 14:09:32
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
云栖社区特邀专家徐雷Java Spring Boot开发实战系列课程(第20讲):经典面试题与阿里等名企内部招聘求职面试技巧 立即下载
微服务架构模式与原理Spring Cloud开发实战 立即下载
阿里特邀专家徐雷Java Spring Boot开发实战系列课程(第18讲):制作Java Docker镜像与推送到DockerHub和阿里云Docker仓库 立即下载

相关实验场景

更多