今日遇到一个问题,登录时获取手机号没有获取到,导致登录后某个传参出现了问题。登录接口会返回两个参数,a_account 和 phone,a_account 有值,是正常的我需要的手机号,可是phone没有值。但是我在解析获取数值的model里用modelCustomPropertyMapper做了映射如下:
可是始终获取不到phone的值,后来经过多次验证,终于验证了一个猜想。以前一直以为这个方法中,只要返回的参数例如phone、a_account、Phone无论哪个有值,phone都会有值,但是验证后发现,映射的某个值跟映射里面数组的顺序有关系,如图我要取phone的值,会默认先查返回的有没有phone这个字段,如果有的话,直接就去返回的这个值,不再往下查了,所以在我遇到的问题中,phone这个字段是返回了的,只不过值是空(null),所以即使a_account有值,我的phone也是没有值的。如果将映射中的phone和a_account调换一下顺序,就没有这个问题,phone也可以取到值。
特此记录。