网站内容页设计企业网站建设费入什么科目
网站内容页设计,企业网站建设费入什么科目,长丰县住房和城乡建设局网站,镇江网签查询系统在一天夜里。我在使用feign的调用时#xff0c;突然出现了一点点问题。
就是对于feign类型的包装问题。产生了疑问。
在后来#xff0c;也就是今天。在网上取取经。看到了一个答案。说#xff1a;feign的调用会有一个编码器和解码器。
使用feign的解码器。他的原理也很简…在一天夜里。我在使用feign的调用时突然出现了一点点问题。
就是对于feign类型的包装问题。产生了疑问。
在后来也就是今天。在网上取取经。看到了一个答案。说feign的调用会有一个编码器和解码器。
使用feign的解码器。他的原理也很简单。也就是从controller层的返回前端的数据。拆包取出响应的数据。 import com.fasterxml.jackson.databind.ObjectMapper;
import com.lz.common.Result;
import feign.FeignException;
import feign.Response;
import feign.Util;
import feign.codec.DecodeException;
import feign.codec.Decoder;
import org.springframework.stereotype.Component;import java.io.IOException;
import java.lang.reflect.Type;Component
public class ResponseDecoder implements Decoder {private final ObjectMapper objectMapper;public ResponseDecoder(ObjectMapper objectMapper) {this.objectMapper objectMapper;}Overridepublic Object decode(Response response, Type type) throws IOException, DecodeException, FeignException {if (response.body() null) {return null;}byte[] content Util.toByteArray(response.body().asInputStream());// 将HTTP响应内容转换为Result对象Result? result objectMapper.readValue(content, Result.class);return result.getData();}
}这个会让feign调用的数据拆包。
2,进阶版
将这个工具类放在公共包中
public abstract class AbstractResponseDecoder implements Decoder {private final ObjectMapper objectMapper;public AbstractResponseDecoder(ObjectMapper objectMapper) {this.objectMapper objectMapper;}Overridepublic Object decode(Response response, Type type) throws IOException, DecodeException, FeignException {if (response.body() null) {return null;}byte[] content Util.toByteArray(response.body().asInputStream());// 将HTTP响应内容转换为Result对象Result? result objectMapper.readValue(content, Result.class);return result.getData();}
}在使用的时候调用就可以了
Component
public class ResponseDecoder extends AbstractResponseDecoder {public ResponseDecoder(ObjectMapper objectMapper) {super(objectMapper);}}
值得一说的是
这个feign的接口接收类型可以都用Object接收也可以使用原本类型的接收。 RequestMapping(/game)Object demo();RequestMapping(/game/list)Object demo2();RequestMapping(/game/booleans)Object demo3();
都可以在使用时在前面转化就好了。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/88813.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!