背景

在迁移改造遗留系统时,遇到如下一个对外暴露的接口,其中.do是旧系统自动在URL后面添加的,新系统也需要加上,否则业务方调用接口时报错404:

@RequestMapping(value = "/getApigetCurrentMsgByMany.do")
public ServiceStatus getApigetCurrentMsgByMany(@RequestParam Map<String, Object> paramMap) {}

看到@RequestParam,第一反应就是请求参数要放在URL里面的。然后请求内容是一个Map,并不是常规的整形,字符串数据。另外,URL里面的特殊字符需要加上转义,如英文引号。

故而在postman里面使用如下方式模拟接口请求:

居然报错:HTTP Status 400 - Bad Request。此报错来自于客户端,参数解析异常

因为使用的注解是@RequestMapping,没有指明GET,还是POST,故而两种HTTP方法都支持。

那放在RequestBody里面:

{"id": "157","filter": [{"field": "hourtime","symb": "=","value": "15"},{"field": "weekday","symb": "=","value": "5"}]
}

没有报错400,但是此时

通过如上断点调试截图可知,参数解析依然失败。JSON消息体并没有被解析成Map。

经过诸多尝试,最后得到正确的姿势:

Tomcat遗留项目,postman模拟请求再次报错400:

Postman HTTP 400 Bad Request及模拟@RequestParam请求相关推荐

  1. Nginx 400 Bad Request

    400 Bad Request是一种HTTP错误状态码.HTTP/1.1对400 Bad Request的定义主要是:1.语义有误,当前请求无法被服务器理解.除非进行修改,否则客户端不应该重复提交这个 ...

  2. php 返回400 bad request,400 bad request 手机怎么解决?

    400 bad request 手机怎么解决? 400 bad request一般是指请求中有语法问题,或不能满足请求而发生的错误,解决方法:1.打开浏览器进行一键修复:2.清除浏览器的缓存和Cook ...

  3. 使用Postman调试API遇到“400 Bad Request”问题

    问题 今日使用Postman调试一个临时接手的API,参照调用程序代码填充好请求头.请求体参数(post),Postman客户端始终提示"400 Bad Request",调用失败 ...

  4. 嵌入式物联网【数据处理篇】特殊字符处理(Postman 400 Bad Request)

    目录 一.Postman 400 Bad Request 二.C语言特殊字符处理 三.QU

  5. [Postman]400 Bad Request

    Postman版本: 问题重现: 如果Headers不勾选Host,就会出现400 Bad Request错误 如果Headers不勾选Content-Length,请求参数就传不出去

  6. SpringMVC上传文件出现400 Bad Request错误

    1.起因 写了上传文件代码,用postman测试一下报400 Dad Request. 2.原因 看了下资料了解到使用SpringMVC上传文件需要在form表单中添加enctype="mu ...

  7. Retrofit+RxJava网络请求失败,报HTTP 400 Bad Request,没有返回errorBody的信息

    网络请求失败返回的结果肯定是到了onFaild()里面了,throwable获取的信息只有"HTTP 400 Bad Request",并没有返回postman上面的body信息. ...

  8. php curl post请求返回400 bad request

    php post请求返回400 bad request,代码如下: /*** 模拟post进行url请求* @param string $url* @param array $post_data*/ ...

  9. HttpWebRequest.GetResponse() raises exception when http status code 400 (bad request) is returned

    参考: .Net HttpWebRequest.GetResponse() raises exception when http status code 400 (bad request) is re ...

最新文章

  1. 图形推理1000题pdf_笔试|图形推理题满分攻略
  2. [转] 微软SQL Server 2008故障转移集群概述(Windows Server Failover Clustering (WSFC))
  3. lcd残影原理_为什么同样是高刷,OLED 可以比 LCD 优秀?
  4. expdp导出表结构_(转)oracle使用expdp、impdp和exp、imp导入导出表及表结构
  5. java中exception_Java中的异常 Exceptions
  6. 艾伟_转载:趣味问题:你能用Reflection.Emit生成这段代码吗?(答案)
  7. html css 表头,css固定表格表头(各浏览器通用)
  8. 为什么感觉农村人在城里工作后,大部分都变了?
  9. 算法研发---对宏定义#define相关研究
  10. php 判断输入字符串,php 判断(输入框) 字符串函数
  11. socket 支持 ipv6
  12. mac rz sz的使用
  13. [转]关于PSP的3.52 M33-2自制系统七大热点问题
  14. Redis3.x 源码安装
  15. SPSS统计分析行业应用实战--SPSS 23.0新增
  16. 进程调度:时间片轮转调度算法
  17. 高德地图----经纬度转地理位置,地理位置获取经纬度
  18. tpu云_如何与TPU合作
  19. java生成docx文件、pdf文件、docx转pdf、docx转图片 pdf转图片工具
  20. Ameya详解:村田的用于人机界面和生命体征检测的压电薄膜传感器

热门文章

  1. Web 前端学习之 表格
  2. Android编程读取手环数据,模仿小米手环 计步数据的展示 View
  3. MTK 11A经验总结(1)
  4. gcc安装rpm教程linux,CentOS 5.8 rpm安装gcc
  5. Neo4j系列-解读《权力的游戏》下
  6. 鸿蒙报名多久能用试纸测出来,怀孕多久可以用试纸测出来? 这几点不注意, 会影响准确率...
  7. Java字符流Writer写入文件Reader读取文件
  8. oracle+rownum(),Oracle rownum用法
  9. [译] TensorFlow 教程 - 07 Inception 模型
  10. 如何借助二维码实现智能营销