REST/HATEOAS:模板化restul链接是一种可接受的方法吗

REST/HATEOAS:模板化restul链接是一种可接受的方法吗,rest,restful-architecture,hateoas,hypermedia,Rest,Restful Architecture,Hateoas,Hypermedia,我正在研究我们希望开发的API的整个Layer3/HATEOS/RESTful/HAL 我们将公开所有这些链接可能导致的数据列表膨胀。这不是一个模板链接的想法,这将被称为什么?我似乎找不到任何提及,如果这不是一个好方法,为什么 以假设的假日搜索API为例,入口点可以提供目的地和出发机场的列表,允许用户使用其中一个开始搜索 以下是一种更有效的方法吗?(大致基于HAL)如果不是,原因是什么 { “_链接”:{ “自我”:{ “href”:”/” }, “_模板”:{ “机场”:{ “self”:{“

我正在研究我们希望开发的API的整个Layer3/HATEOS/RESTful/HAL

我们将公开所有这些链接可能导致的数据列表膨胀。这不是一个模板链接的想法,这将被称为什么?我似乎找不到任何提及,如果这不是一个好方法,为什么

以假设的假日搜索API为例,入口点可以提供目的地和出发机场的列表,允许用户使用其中一个开始搜索

以下是一种更有效的方法吗?(大致基于HAL)如果不是,原因是什么

{
“_链接”:{
“自我”:{
“href”:”/”
},
“_模板”:{
“机场”:{
“self”:{“href”:“/airport/{IATA}”,
“目的地”:{“href”:“目的地?机场={IATA}”},
“停车场”:{“href”:“/airport/{IATA}/parking”},
“酒店”:{“href”:“/酒店?机场={IATA}”,
“方向”:{“href”:“/guides?airport={IATA}”,
“搜索”:[
{“href”:“/search?airport={IATA}title:“default”},
{“href”:“/search?airport={IATA}&type=CITY title”:“citybreak”},
{“href”:“/search?airport={IATA}&type=LOW titel”:“低成本”}
]
},
“国家”:{
“self”:{“href”:“/destinations/{Code}/”},
“区域”:{“href”:“/destinations/{Code}/regions”},
“resorts”:{“href”:“/目的地/{Code}/resorts”},
“机场”:{“href”:“/目的地/{Code}/机场”},
“搜索”:{“href”:“/search?国家={Code}®ion=ANY&resort=ANY”}
}
}
},
“_嵌入式”:{
“机场”:[
{“IATA”:“LHR名称”:“伦敦希思罗机场”},
{“IATA”:“EMA名称”:“东米德兰机场”},
{“IATA”:“NWI名称”:“诺里奇国际机场”},
{“IATA”:“LTN名称”:“伦敦卢顿机场”},
{“IATA”:“STN名称”:“伦敦斯坦斯特德机场”},
{“IATA”:“LCY名称”:“伦敦市机场”},
{“IATA”:“LPL名称”:“利物浦约翰列侬机场”},
{“IATA”:“男子姓名”:“曼彻斯特机场”},
{“IATA”:“LGW名称”:“盖特威克机场”}
],
“国家”:[
{“代码”:“CY名称”:“塞浦路斯”},
{“代码”:“CZ名称”:“捷克共和国”},
{“代码”:“ES名称”:“西班牙”},
{“代码”:“FO名称”:“法罗群岛”},
{“代码”:“GG名称”:“根西岛”},
{“代码”:“GR名称”:“希腊”}
]
}

}这感觉像是过早的优化。我当然不会用负载大小来换取客户端处理的复杂性……尤其是在RESTAPI中,不管怎样,事情都会得到HTTP1.1ZIP压缩

你真的衡量过这种更“有效的方法”的好处吗?我的猜测是,这种方法最终会比只发送所有内容要慢