所以我正在编写一个API,我担心我写的代码会很快变得混乱。
有些页面需要从API中的几个不同资源中获取数据,而我最终会在各处发布一大堆try和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进行客户端交互。
答案 0 :(得分:1)
正如我之前评论过的,在我看来,你应该在一个类中拥有所有的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;
}
}
这样,您在应用程序中的代码将更加优雅和清晰。
希望这有助于你