将特定字符串发布到API

问题描述

我有一个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 (将#修改为@)