Итак, я просматривал несколько статей по созданию REST API.
И некоторые из них предлагают использовать все типы 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;
}
Хорошо, конечно - я мало знаю о веб-сервисах (пока).
Но не было бы проще просто принять объект JSON через обычный POST
или GET
(который будет содержать имя метода и все параметры), а затем ответить в JSON тоже. Мы можем легко сериализовать / десериализовать с помощью PHP json_encode ()
и json_decode ()
и делать с этими данными все, что захотим, без необходимости иметь дело с различными методами HTTP-запросов.
А я. чего-то не хватает?
ОБНОВЛЕНИЕ 1:
Хорошо - после того, как мы покопались в различных API и много узнали о XML-RPC , JSON-RPC , SOAP , REST Я пришел к выводу, что этот тип API надежен. Фактически, stack exchange в значительной степени использует этот подход на своих сайтах, и я действительно думаю, что эти люди знают, что делают Stack Exchange API .