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