有许多因素共同导致了API的快速发展。
开始于。
您必须尽可能减少到数据库的往返次数,并且表必须具有索引,以加快操作速度。
使用轻量级框架来构建API。
最少使用第三方服务(如果可能,尽量避免使用。
代码必须结构合理,避免使用效率低下的算法。
服务器负载必须相应地分配。
缓存机制。
这些只是可用于避免API响应延迟的几点。
浏览此博客进行深入分析。
https://appinventiv.com/blog/complete-guide-to-api-development/
public function index()
{
$result = NULL;
$count = 0;
$status = false;
$childrens = false;
$message = NULL;
$method = 'index';
$this->request->allowMethod(['get']);
if ($this->request->is(['get'])) {
$params = $this->request->getQueryParams();
$response = $this->Functions->setParams($params);
$select = $response['select'];
$filter = $response['filter'];
$order = $response['order'];
$paginate = $response['paginate'];
$paginate = filter_var($paginate, FILTER_VALIDATE_BOOLEAN);
$autoFields = $response['autoFields'];
$autoFields = filter_var($autoFields, FILTER_VALIDATE_BOOLEAN);
$permission = $this->Functions->getPermission();
if($permission[0])
{
$result = $this->MyModelName->find('search', ['search' => $filter])
->autoFields($autoFields)
->select($select)
->order($order);
if($paginate){
$result = $this->paginate($result);
}
$count = $result->count();
$this->setResponse($this->response->withStatus(200));
$message = $this->Functions->getStatusMessage(200, $method);
$status = true;
} else {
$this->setResponse($this->response->withStatus(401));
$message = $permission[1];
}
}
$result = $this->Functions->returnData($result, $message, $count, $select, $filter, $order, null);
$this->returnData($childrens, $status, $result);
}