TypeScript 使用泛型 接收后端的统一返回对象

2023-12-15 20:34:41

后端往往在返回数据的时候都会有一个固定的格式,来搭配前端的数据接收工作。

比如:

// 返回格式 一
{
	code:200,
	message:'success',
	data:{
		name:'勿语',
		age:18
	}
}
// 返回格式 二
{
	code:200,
	message:'success',
	data:'dawkn23n1io2nkfdawbdkbwfa'
}

从返回结果来看,只有 data 的数据类型不一样。
那么使用TypeScript 就可以很方便通过泛型去接收数据。

// 定义统一返回结果集
interface ResponseResult<T>{
    code:number
    message:string
    data:T
}

// 后端响应结果 backedResp
{
    code:500,
    message:'error',
    data:{
        name:'wuyu',
        age:123
    }
}

//从后端返回结果来看,data是一个对象。那么我们就定义一个具备这些属性的一个对象。
interface User{
    name:string
    age:number
}

// 直接使用泛型去接收 backedResp,让代码变得更优雅
const rep:ResponseResult<User>=backedResp

当然还可以使用继承的方式来实现,但是我感觉那样代码就不够优雅了。

文章来源:https://blog.csdn.net/qq_58706693/article/details/135023628
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。