Создание REST API с использованием PHP

Я создаю свой первый 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.

В вашем примере это нормально: это просто и работает. Единственное, что я предлагаю:

  1. проверка достоверности данных POSTED
  2. убедитесь, что ваш 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 даст вам много ресурсов для начала.