feign面向方法签名的http调用,越来越受欢迎,类型于rpc的thrift,只需要关注方法签名和返回值即可,当然feign响应流对象时,需要我们做一下特殊处理,否则会出现异常。也有一些文章通过重写HttpMessageConvert来实现,但我测试后发现还是失败的。
> Accept: image/*会返回406 Not Acceptable
### 解决方法
feign代码,注意返回值必须是`feign.Response`
```
@PostMapping(value = "/wxa/getwxacodeunlimit")
feign.Response getQrImagePath(@RequestParam("access_token") String accessToken,@RequestBody Map<String, Object> body);
class WeixinClientFallback implements WeixinClient {
```
restcontroller代码,需要显示声明`produces`类型,这里因为是图片,所以声明为`MediaType.IMAGE_JPEG_VALUE`
```
@GetMapping(value = "/v1/api/sales/qrcode", produces = MediaType.IMAGE_JPEG_VALUE)
public void qrcode(HttpServletResponse response) {
//获取token
Map<String, Object> tokenMap = weixinClient.getToken("client_credential", wxAppId, wxAppSecret);
if (tokenMap == null) {