FeignClient接口格式

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();

 

posted on 2022-03-23 16:38  oktokeep  阅读(364)  评论(0编辑  收藏  举报