将axios调用的响应映射到模型

时间:2019-08-09 17:47:03

标签: vue.js axios

我正在做一个简单的axios调用,并获得很少的值。我希望他们转换为模型。问题是服务器端使用不同的大小写[snakecase]并带有下划线..但是在打字稿模型中,它没有任何内容。 如何将这些响应值转换为该模型值?如何映射它们。.

async getStudentstatus (): Promise<AxiosResponse<StudentStatus>> {
    return Axios.get(`url`)
  }

所以StudentStatus就是这样

export interface StudentStatus {
    failedInAllExams: boolean,
    attendedAllExams: boolean,
    totalScore: number
}

但服务器端具有价值

{"failed_in_all_exams":true,"attended_all_exams":"true","totalScore":"290"}

我正在寻找手动操作;不使用库,因为这是一个案例

1 个答案:

答案 0 :(得分:0)

我会使用类似https://www.npmjs.com/package/camelcase的格式将数据密钥转换为驼峰式大小写。我相信简单的密钥转换应能覆盖99%的可能情况。