- 将复杂object序列化为url的通用协议。便于书写表达丰富的http-get请求。
- 协议名getin寓意从get方法中也可以取出丰富内容。
go-getin(https://github.com/suboat/go-getin)
- 协议核心描述。8条基本规则。
- 实例1:
var sample = {
limit: 10,
skip: 20,
sort: ["active", "create"],
plat: "china",
rate: 10.5
};
var sampleUrl = "?limit_int=10&skip_int=20&plat=china&sort_lis=active&sort_lis=create&rate_flt=10.5";- 实例2:
var sample = {
plat: "china",
key: {
cate: "person",
group: "social"
}
};
var sampleUrl = "?plat=china&key_obj=cate~person&key_obj=group~social";- 实例3,两个结果等价,但推荐长度较短的前者:
var sample = {
plat: "china",
key: {
class: ["music", "drawing"]
}
};
var sampleUrl = "?plat=china&key_obj=class_lis~music+class_lis~drawing";
var sampleUrlAlias = "?plat=china&key_obj=class_lis~music&key_obj=class_lis~drawing";- 实例4:
var sample = {
key: {
magic: {
name: "jack",
method: {
want: "jump"
}
}
}
};
var sampleUrl = "?key_obj=magic_obj~name~jack+magic_obj~method_obj~want~jump";- 实例5, songo-query(https://github.com/suboat/songo):
var sample = {
limit: "10",
skip: "20",
key: {
category: "base",
$and$create:["$gte$20161001", "$lte$20161030"]
}
};
var sampleUrl = "?limit=10&skip=20&key_obj=category~base&key_obj=$and$create_lis~$gte$20161001&key_obj=$and$create_lis~$lte$20161030";
var samplejsn = '{"key":{"category":"base","$and$create":["$gte$20161001","$lte$20161030"]},"limit":"10","skip":"20"}';