当您有条件调用时,什么是最好的rest api设计



我有一个条件调用。若要检查条件,您需要调用其他内插件。什么是更好的api设计?

例如

if(fetch('api/is-data-valid')){
const data = fetch('api/get-profile-data');
// do something with data
}

const data = fetch('api/get-profile-if-data-valid');
if(data.isDataValid) {
// do something with data
}

如果客户端无法确定数据是否有效,API应该相应地响应,而不需要额外的步骤。

与其检查api/is-data-valid以获得api/get-profile-data,不如在一个请求中执行,这会隐藏api/get-profile-if-data-valid建议的实现

只有在数据有效的情况下才能获得profile-data,因此请让API来计算。

fetch('api/get-profile-data'); // returns profile data or 404

并让客户端集中精力显示一个错误,说明数据无效,因为相应的配置文件不存在。

答案取决于以下几点。一般来说,最好将api调用的数量保持在最低限度,因此最好只调用一次,而不是两次。但是,如果有人想在没有获取配置文件的情况下检查数据是否有效,那么拥有is-data-validapi是很重要的。

我的建议是同时拥有这两个api,但允许有人在get-profile-data无效时调用它,并以定义良好的方式处理这种情况。这将允许使用单个调用来完成工作,但仍允许在其他用例中单独检查数据有效性是有用的。

最新更新