angular - http 请求的 Angular 接口:JSON 键并不总是相同
问题描述
我正在向返回 JSON 的 API 发出请求,但密钥并不总是一致的,但我确实知道它将基于输入参数。我对Angular HttpClient
工作原理很陌生。我正在尝试设置这样的界面:
我有我的功能:
convert(amount: number, fromCurrency: string, targetCurrency: number): number
我希望我的界面是这样的:
interface UserResponse {
fromCurrency + "_" + targetCurrency: string
}
这显然是行不通的,但我希望我的逻辑能够体现在我想要实现的目标上。
编辑:这是我尝试使用的 API: https ://www.currencyconverterapi.com/docs
解决方案
首先,您无法在打字稿运行时实现您的目的。
如果您不知道对象键的名称,可以使用Index Signatures
这可能与您的问题关系不大。但这是另一种方式
实现“动态键式”
例如
interface Foo {
[key:string]: number
}
let foo: Foo = {x:1,y:2,..and what ever number type property};
您也可以先定义所有类型:
type Index = 'USD_PHP' | 'b' | 'c'
type FromIndex = { [k in Index]?: number }
您可以通过查看此Typescript 深入了解了解更多信息
推荐阅读
- javascript - Turbolinks 在 css/图像之前加载内容
- flutter - 颤振滑块覆盖颜色
- ios - 如何在 iOS 中打开作为 Safari 浏览器打开的 PWA 的外部链接?
- amazon-s3 - Databricks 和 s3 数据
- android - React 本机应用程序适用于调试模式,但不适用于 android 的发布模式
- vue.js - Vue如何在v-for循环中获取每个youtube视频的持续时间
- python - 同一个函数可以有不同的返回值吗?
- json - 如何使用方法名称 { "GROUP(date)": "2019-09"} 之类的键遍历 JSON 对象 - 芭蕾舞演员
- javascript - 如何使用 JS 中的值,而不是从 HTML 中获取值?
- android - 文件路径的位图 decodefile() 显示为空