接口响应是200,但就是空白,日志也没有任何异常,奇怪不奇怪,controller的入口日志有,但返回前打印的日志也没显示出来。


感觉程序从哪儿出错了,百思不得其解后还是求助同事帮忙一起看下;
结果同事一看有些客户就不报错,而有一个客户就报错,然后结合接口里的代码就猜测可能是list转map时,因为key有重复报的错把?但为啥日志没有异常呢?
java
Map<String, String> extendMap = firmInfoExtendList.stream().collect(Collectors.toMap(FirmInfoExtend::getPropName, FirmInfoExtend::getPropValue);
会报空指针异常,如果存在list里存在相同key
Exception in thread "main" java.lang.NullPointerException
at java.util.HashMap.merge(HashMap.java:1216)
at java.util.stream.Collectors.lambda$toMap$162(Collectors.java:1320)
at java.util.stream.Collectors$$Lambda$5/984849465.accept(Unknown Source)
at java.util.stream.ReduceOps$3ReducingSink.accept(ReduceOps.java:169)
at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1374)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:512)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:502)
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499)
at cn.org.bjca.ywq.merchant.service.impl.Main.main(Main.java:22)
改成增加 ,(key1 , key2)-> key2 )
java
Map<String, String> extendMap = firmInfoExtendList.stream().collect(Collectors.toMap(FirmInfoExtend::getPropName, FirmInfoExtend::getPropValue,(key1 , key2)-> key2 ));
原来生产代码里有个全局异常处理类,针对这个类型的异常也没输出日志...