FeignClient @RequestParam

来源:5-5 Feign的使用

超越自wo

2018-06-21

FeignClient 中方法的参数不能使用@RequestParam吗?

回报错误

no String-argument constructor/factory method to deserialize from String value ('Required String parameter 'phoneNumber' is not present')


@FeignClient(name = "business")
public interface UserClient {

   //region 互相调用接口

   /**
    * 获取推送注册码根据手机号
    * @param phoneNumbers
    * @return
    */
   @PostMapping("/user/admin/pushCodes")
   JsonResult<List<String>> getPushCodes(@RequestBody List<String> phoneNumbers);

   /**
    * 根据手机号获取用户信息
    * @param phoneNumber
    * @return
    */
   @GetMapping("/user/admin/getUserByPhone")
   JsonResult<UserDTO> getUserByPhoneNumber(@RequestParam String phoneNumber);

   //endregion
}

写回答

1回答

小草1434

2018-06-21

这个异常并不是说明不能使用 RequestParam 的注解进行参数说明,而是本处贴出来的代码并非异常提示的【factory】指向的方法。

no String-argument constructor/factory method to deserialize from String value ('Required String parameter 'phoneNumber' is not present')

是指 /factory 指向的方法中,不存在一个String类型的变量名为phoneNumber 的参数

0
2
小草1434
回复
超越自wo
不客气,希望下次再问有关代码的问题,可以使用代码的富文本格式,有助于我们查看,如果处理的更好的话,可以将代码工程放在公共git上,方便大家讨论学习[将git源码地址放出来+问题详细描述]
2018-06-21
共2条回复

SpringCloud Finchley(M2+RELEASE+SR2)微服务实战

SpringCloud组件实现微服务,【已升级Finchley.Release】

5674 学习 · 2489 问题

查看课程