Создание REST-API с помощью PHP
Я создаю свой первый API, для которого, если два значения переданы, я должен получить ответ в формате JSON. Число будет передано как параметры POST. Можно использовать либо cURL, либо какой-либо метод POST.
Несмотря на то, что это очень простой, я хотел бы знать лучшие практики, и API должен быть создан на основе модели-контроллера. Не просто PHP.
У меня есть Googled для многих руководств API REST. Они были хорошими, и я приобрел некоторые знания об этом.
Но я хотел бы получить образец модели кода, чтобы я мог ссылаться на нее и строить свой собственный, и этот пример, конечно, в стандартной практике создания реального REST API.
Если вы спросите меня, что я пробовал, было бы очень весело, как новичок, все, что я мог сделать, это следующее:
$num1 = $_REQUEST['num1'];
$num2 = $_REQUEST['num2'];
$total = $num1 + $num2;
echo json_encode($total);
Конечно, это никогда нельзя назвать API, но все же. Если я дам ответ POST на это, я хочу получить ответ от REST API как JSON. Я также должен проверить его с помощью консоли REST, чтобы получить стандартный ответ.
Пожалуйста, предоставьте мне очень простой, но все же стандартный RESTful API.
Ответы
Ответ 1
В вашем примере это прекрасно, как есть: его просто и работает. Единственное, что предлагает Id:
- проверка данных POSTed
-
убедитесь, что ваш API отправляет заголовок Content-Type
, чтобы сообщить клиенту ожидать ответа JSON:
header('Content-Type: application/json');
echo json_encode($response);
Кроме того, API - это то, что принимает вход и обеспечивает вывод. Его можно "переусердствовать", потому что вы делаете вещи более сложными, чем нужно.
Если вы хотите спуститься по маршруту контроллеров и моделей, прочитайте GitHub, которые заслуживают внимания.
Ответ 2
Попытка написать REST API с нуля - непростая задача. Есть много факторов, которые необходимо учитывать, и вам нужно будет написать много кода для обработки запросов и данных, поступающих от вызывающего абонента, проверки подлинности, поиска данных и отправки ответов.
Лучше всего использовать фреймворк, который уже имеет эту функциональность, готовый и протестированный для вас.
Некоторые предложения:
Phalcon - Создание REST API - Простота использования всех в одной структуре с огромной производительностью
Apigility - Один размер подходит для всей платформы обработки API Zend Technologies
Laravel Учебное пособие по API
и многое другое. Простой поиск в Bitbucket/Github даст вам много ресурсов для начала.