在工作中遇到个问题,要根据id批量查询一些信息,但是每个id的格式是123,456的格式,考虑到url编码中,list之间每个元素的分隔符是,
,会不会和单个id中的,
混淆呢?测试一下,这里边还隐藏了一个大bug!!
先说结论:如果list中元素数量大于1,那么接收方可以正确的接收到,但是如果是1个元素,那么就会把元素中的,解析出来,size变成2。
①list中元素数量大于1的情况:
feign请求
最后在接收方打印出的结果:
size是2,很正常,可以看到,list的话在url里出现了两次businessIds=,正因为如此才能正确区分list的size,但是如果size是 1就不一样了:
②list的大小是1:
POSTMAN:
feign请求:
接收端拦截器打印出来的是:
get params is businessIds=34596%2C86453
2
打印出来的size变成了2。
所以如果有这种情况,建议还是走post请求,这样单个list也不会有问题。。。