最近做项目时,由于老项目不是采用springcloud
框架,导致调用新的springcloud
服务时,只能使用原生feign注解@RequestLine(value = "POST /matterserver/provider/v2/matterCode/genCode")
,之前以为这个注解不能传递对象(String
除外),今天经过几次尝试,发现是完全可以的。很简单,在上面注解所在的方法上加上另一个注解@Headers("Content-Type: application/json")
,OK,就这么简单。
客户端:
@RequestLine(value = "POST /matterserver/provider/v2/matterCode/genCode")
@Headers("Content-Type: application/json")
ResultResponse<String> getCode(MatterCodeBO matterCodeBO) throws Exception;
服务端:
@Override
@RequestMapping(value = AlphaConstants.CONTEXT_PATH + AlphaConstants.PROVIDER_PATH + "/v2/matterCode/genCode", method = RequestMethod.POST)
ResultResponse<String> getCode(@ApiParam(name = "matterCodeBO", value = "生成编号入参")@RequestBody MatterCodeBO matterCodeBO);
顺便附上一篇讲解Feign
原生注解的博客https://www.cnblogs.com/chenkeyu/p/9017996.html