问题描述
我有一个RESTful API侦听端口4010。该API内置在node.js(v12.8.1)中,具有express(v4.17.1)和sequelize(v5.19.4)。
存在一个POST路由,该路由接受JSON有效负载,然后进行处理,然后更新数据库。这条路线一直没有问题。但是,发现在JSON有效负载中发送特定字符串时,将导致ECONNRESET错误。
请求标头为:
Authorization: "JWT <token>",Content-Type: "application/json",User-Agent: "PostmanRuntime/7.26.2"
Accept: "*/*"
Cache-Control: "no-cache"
Postman-Token: "4e94c90d-3275-4f19-9f5b-df69d6ef4d45"
Host: "localhost:4010"
Accept-Encoding: "gzip,deflate,br"
Connection: "keep-alive"
请求主体为:
{
"uMPN": "E-KSU361 47/50 10,0 x 12,7"
}
我尝试了有效负载字符串的不同组合。在以下情况下将不会出现错误,并且请求将成功:
- 已删除两个逗号之一:
"E-KSU361 47/50 10,0 x 127"
- 保留逗号,但删除斜杠:
"E-KSU361 4750 10,7"
- 逗号和斜杠被保留,但减号被删除:
"EKSU361 47/50 10,7"
- 保留逗号,减号和斜杠,但是数字被更改或删除,例如:
- “ E-KSU361 4 8 / 50 10,7”
- “ E-KSU361 47/5 1 10,7”
- “ E-KSU36 0 47/50 10,7”
- “ E-KSU361 47/50 1 1 ,0 x 12,7”
- “ E-KSU361 47/50 10,0 x 1 0 ,7”
- 仅保留带有逗号的数字:
"10,7"
- 任何空格都将被删除:
"E-KSU36147/50 10,7"
另一方面,请求也将失败,并出现字符串的 ECONNRESET 错误:
- “ E-KSU361 47/50”
- “ E-KSU361”
- “ 47/50”
对于这些字符串,通过删除减号,斜杠或空格,请求将成功。
我无法找到原因。这发生在我的本地服务器以及生产服务器中。
任何帮助将不胜感激!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)