今天遇到个奇葩的问题,刚接手了个老项目,一个POST请求的所有都入参放在Headers里已经让我有点懵了,然后吧它的命名居然还是点断式的!!!日常见到的Header是像Content-Type: application/json这种的格式,我遇到的是content.type: xxxxxxxxxx这种格式。这个格式要是请求直接到spring项目到还好,关键在于nginx它转发是不认这种格式的,它认的只有中划线'-',要是想用下划线'_'还得加underscores_in_headers on;,找啊找,找到头掉,咋就把我的请求头丢了呢?生产环境很多服务都接入了这个老项目,这写法暂时又没法儿改。最后终于让我找到了,nginx认为这个请求头格式是非法的所以默认是会丢掉的,如果不想丢掉得加个配置ignore_invalid_headers off;终于问题解决。
所以,请求头里放特殊格式入参的大聪明我真是谢谢了。记录一下掉头的一天。