1
我如何复杂的对象转换为查询字符串用于的WebAPI:转换复杂对象查询字符串
export enum FilterCondition {
Equal,
NotEqual,
GreaterThan,
LessThan,
GreaterThanEqual,
LessThanEqual
}
export class QueryParameter {
propertyName: string;
filterCondition: FilterCondition
value: string;
}
export class QueryOptions {
queryParameters: QueryParameter[] = new Array<QueryParameter>();
}
我想编写一个通用的功能到复杂的类型转换为基本查询 我写的这个函数转换一个简单的对象查询字符串
export class QueryStringBuilder {
static BuildParametersFromSearch<T>(obj: T): URLSearchParams {
let params: URLSearchParams = new URLSearchParams();
const objectKeys = Object.keys(obj) as Array<keyof T>;
for (let key of objectKeys) {
params.set(key, obj[key])
}
return params;
}
}
但我有麻烦抓我怎么能与枚举和数组等复杂的对象做到这一点递归?任何人都可以指向正确的方向,或者已经做到了这一点?
的利用方法可能是有用的也 –
@RobMcCabe我会后一个在一秒钟。必须在我的github上找到它 –
@RobMcCabe我已经更新,包括一个示例用法,一些导入是必需的IHasId是我自定义的,所以你可以忽略那个等 –