RESTful API错误处理

时间:2013-01-24 03:47:36

标签: php api rest

我有一个简单的函数,它向我的RESTful API发出cURL请求,并在成功发出请求时返回数据。我的问题是,当用户可能提供API错误数据或API无法执行请求时,我不知道如何返回错误响应(例如404s,500s)。

我将如何做到这一点?

目前我有以下内容。在我的API客户端

class Awesome_Api { 
    static function request($url, $data, $method)
    {
        // cURL stuffs here...

        if (successful)
        {
            return (success response)
        }
        else
        {
            return (error response)
        }
    }
}

$response = Awesome_Api::request($url, $data, $method);

现在如何从API返回错误响应代码,并在客户端处理它?<​​/ p>

1 个答案:

答案 0 :(得分:3)

使用header函数返回错误代码,如下所示:

header('HTTP/1.1 500 Internal Server Error');

header('HTTP/1.1 404 Not found');

在调用此函数之前,确保没有任何内容写入输出是非常重要的,否则它将无法正常工作。

在您的客户端API中,您可以使用curl_error()curl_errno()函数来检索有关从服务器返回的错误编号和消息的信息。