因此,我浏览了一些关于创建 RESTAPI 的文章。
其中一些建议使用所有类型的 HTTP 请求: 如 PUT
DELETE
POST
GET
。
我们将创建一个例子 Index.php,并以这种方式编写 API:
$method = $_SERVER['REQUEST_METHOD'];
$request = split("/", substr(@$_SERVER['PATH_INFO'], 1));
switch ($method) {
case 'PUT':
....some put action....
break;
case 'POST':
....some post action....
break;
case 'GET':
....some get action....
break;
case 'DELETE':
....some delete action....
break;
}
好吧,我承认——我还不太了解 Web 服务。
但是,通过常规的 POST
或 GET
(包含方法名和所有参数)接受 JSON对象,然后在 JSON 进行响应不是更容易一些吗。我们可以通过 PHP 的 json_encode()
和 json_decode()
轻松地序列化/反序列化,并且不需要处理不同的 HTTP 请求方法就可以对该数据进行任何处理。
我错过了什么吗?
更新1:
好的-通过挖掘各种 API,学习了很多关于 XML-RPC,JSON-RPC,SOAP,休息的知识之后,我得出了一个结论,这种类型的 API 是合理的。实际上,堆栈交换在他们的站点上大多使用这种方法,我认为这些人知道他们在做什么 堆栈交换 API。