调用部分post接口,参数丢失

Blade 未结 4 491
kearnsowen
kearnsowen 剑童 2023-08-09 11:48

一、该问题的重现步骤是什么?

做压力测试以后,调用部分post接口,会导致参数丢失


二、你期待的结果是什么?实际看到的又是什么?

postman请求参数为:

image.png

我本地断点调试

================  Request Start  ================

===> POST: /ds/project/list/for/review Parameters: {"bladeUser":{"clientId":"saber","userId":765743916275204096,"account":"admin","userName":"admin","nickName":"admin","tenantId":"302019","oauthId":"","deptId":"746239089623171072","createDept":746239089623171072,"postId":"1123598817738675201","roleId":"816159375096807424,816159387428061184,1605752023659696130","roleName":"admin","detail":{"type":"web"}}}

====Body=====  {"keyWord":null,"projectName":null,"projectUserName":null,"projectUserPhone":null,"matchId":null,"matchType":null,"deptId":null,"trackId":null,"groupId":null,"reviewGroupId":null,"current":1,"size":30,"ascs":null,"descs":null}

===Headers===  blade-auth: bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0ZW5hbnRfaWQiOiIzMDIwMTkiLCJjcmVhdGVfZGVwdCI6Ijc0NjIzOTA4OTYyMzE3MTA3MiIsInVzZXJfbmFtZSI6ImFkbWluIiwicmVhbF9uYW1lIjoiYWRtaW4iLCJhdmF0YXIiOiIiLCJhdXRob3JpdGllcyI6WyJhZG1pbiJdLCJjbGllbnRfaWQiOiJzYWJlciIsImhhc19wcm9qZWN0IjowLCJyb2xlX25hbWUiOiJhZG1pbiIsImhhc19zcGFjZSI6MCwibGljZW5zZSI6InBvd2VyZWQgYnkgYmxhZGV4IiwicG9zdF9pZCI6IjExMjM1OTg4MTc3Mzg2NzUyMDEiLCJ1c2VyX2lkIjoiNzY1NzQzOTE2Mjc1MjA0MDk2Iiwicm9sZV9pZCI6IjgxNjE1OTM3NTA5NjgwNzQyNCw4MTYxNTkzODc0MjgwNjExODQsMTYwNTc1MjAyMzY1OTY5NjEzMCIsImhvdF9zdGF0ZSI6MCwic2NvcGUiOlsiYWxsIl0sIm5pY2tfbmFtZSI6ImFkbWluIiwidXNlcl9pZGVudGl0eSI6LTEsIm9hdXRoX2lkIjoiIiwiZGV0YWlsIjp7InR5cGUiOiJ3ZWIifSwiZXhwIjoxNjkyMTUxOTM2LCJkZXB0X2lkIjoiNzQ2MjM5MDg5NjIzMTcxMDcyIiwianRpIjoiOWU5NzBhODAtMDIwZC00YjM1LWI2ZTEtMzhjZjFmYjcxZjVkIiwiYWNjb3VudCI6ImFkbWluIn0.bWdP08DnsdmJ0afRlVHTtvxrU-MHYgt_j5nERQMY2YU

===Headers===  content-type: application/json

===Headers===  user-agent: PostmanRuntime/7.32.3

===Headers===  accept: */*

===Headers===  postman-token: 4e009eee-cc48-47f8-8177-4799c9fe7a0b

===Headers===  host: 192.168.1.8:8109

===Headers===  accept-encoding: gzip, deflate, br

===Headers===  connection: keep-alive

===Headers===  content-length: 165

================   Request End   ================


可以看到matchId为null

但是我使用HttpServletRequest解析requestBody中的参数 是正常的

image.png

我期望看到这些参数正常传入

三、你正在使用的是什么产品,什么版本?在什么操作系统上?

bladex 2.8.0商业版

在centos 以及 windows下都会出现此问题

四、请提供详细的错误堆栈信息,这很重要。


五、若有更多详细信息,请在下面提供。

4条回答
  • 2023-08-09 13:55

    该字段的类型Long 改成String 

    作者追问:2023-08-09 14:05

    image.png

    回答: 2023-08-09 14:07

    参数接收的实体类也发下

    作者追问:2023-08-09 14:13

    image.png

    image.png

    1 讨论(2)
  • 2023-08-09 14:29

    是不做压力测试的时候没问题,做完压力测试就接受不到了么?

    压力测试的并发量是多少,用原生的一个springboot服务(不用bladex依赖)在同等情况下测试看看有没有同样的问题出现。如果原生也有问题,则说明需要增加服务做负载均衡。

    还有就是bladex对request做了一个filter缓存了流,把这个缓存流的功能关闭再试一下。配置应该是blade.request.enabled=false

    如果原生的没问题,请整理一个最简单可复现的demo工程,附上重现步骤(包括提交参数、接口地址、并发量)发给我们邮件,我们安排测试重现。

    邮件地址:bladejava@qq.com

    1 讨论(1)
  • 2023-08-09 13:03

    希望技术人员能尽快帮忙分析一下  目前这个问题比较紧急

    0 讨论(0)
  • 2023-08-09 23:04


    我想了解下,是哪个版本升级解决的,目前我的版本是 2.8
    在不升级的情况下,如何解决这个问题


    https://sns.bladex.cn/q-6491.html

    68ZSQ4@{Y13JOIIRZ0)RNAH.jpg

    0 讨论(0)
提交回复