所以我正在编写一个API,我担心我正在编写的代码会很快变得混乱。
有些页面我需要从 API 的几个不同资源中获取数据,最终我到处都是一大堆 try and catch 语句。例如:
$topic_id = 100;
try
{
$topic = AwesomeAPI::get('topics/' . $topic_id);
$parts = AwesomeAPI::get('parts?topic_id=' . $topic_id);
try
{
// Get another resource here
}
catch (Exception $e)
{
// Error
}
}
catch (Exception $e)
{
return Response::error('404');
}
我相信这段代码非常混乱,如果我必须循环访问一个资源并在循环中获取另一个资源,情况会变得更糟。呸。
我想知道如何以整洁的方式最好地处理客户端与 API 的交互。
正如我之前评论的那样,在我看来,您应该将所有 API 逻辑放在类中,因此应该放在方法中。因此,您可以编写如下代码,而不是像发布的那样编写代码:
$api = new AwesomeAPI();
$topic = $api->GetTopic($topic_id);
你的 AwesomeAPI 类可能看起来像这样:
public class AwesomeAPI()
{
public $topic_url = 'somewebsite.com/topics?id{0}';
function GetTopic($topicId)
{
//Some code here
$response = 'Some response (could be a JSON Document)';
return $response;
}
}
这样,应用程序中的代码将更加优雅和清晰。
希望这对你有帮助