FeignClient接口格式 报错信息: {"timestamp":1648015711758,"status":404,"error":"Not Found","message":"No message available","path":"/getDto"}
/order/getDto 完整的地址。
2022-03-23 14:45:40.188 [SimpleAsyncTaskExecutor-1] ERROR [03964e0b1ec5783d,03964e0b1ec5783d] o.s.a.i.SimpleAsyncUncaughtExceptionHandler#handleUncaughtException [line:38] - Unexpected error occurred invoking async method: xxx java.lang.ClassCastException: java.util.LinkedHashMap cannot be cast to XXXDTO
//标准写法
@FeignClient(name="order-api")
public interface FeignTestService {
@GetMapping("/order/getDto") //url必须要完整
public ResponseData<OrderDTO> getOrderDto(@RequestParam(value = "orderNo") String orderNo); //ResponseData后面的泛型带上类型,避免调用方接收需要类型转换
}
@Data
public class ResponseData<T> {
@AutoDocProperty(value = "返回代码")
private String resCode;
@AutoDocProperty(value = "返回消息")
private String resMsg;
@AutoDocProperty(value = "返回实体")
private T data;
}
// LinkedHashMap hashMap = (LinkedHashMap) responseData.getData();
//json转对象
// OrderDTO dto = JSON.parseObject(JSON.toJSONString(hashMap), OrderDTO.class);
//正确的接收方法:
OrderDTO dto = responseData.getData();