RESTful API客户端交互

时间:2013-01-25 03:10:51

标签: php

所以我正在编写一个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进行客户端交互。

1 个答案:

答案 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;
    }
}

这样,您在应用程序中的代码将更加优雅和清晰。

希望这有助于你