У меня возник вопрос по API. Ресурс Laravel создает следующие методы: создание, редактирование, отображение, обновление, уничтожение, хранение. Методы update, show, destroy и store понятны (манипулирование объектами), но что должен возвращать API в методах create и edit? html формы для создания и редактирования? а что, если API - это JSON?

3
MattJ 16 Апр 2016 в 23:57

2 ответа

Лучший ответ

Они не нужны для API. Вы можете отключить их так:

Route::resource("post", "PostsController", ["except" => ["create", "edit"]]);
3
Alex Lomia 16 Апр 2016 в 21:31

Лучше иметь ответ в формате JSON, потому что он имеет большее преимущество перед XML.

API RESTful должны быть быстрыми, надежными и простыми в использовании. JSON становится предпочтительным форматом обмена данными, потому что он так хорошо соответствует этим целям. Но до тех пор, пока не изменятся стандарты, позволяющие разработчикам использовать более универсальные клиенты для анализа данных JSON и обеспечения строгой проверки типа и формата, XML, вероятно, будет форматом выбора для разработчиков API, которые больше всего озабочены предоставлением жесткой структуры данных. Мы вполне можем увидеть, как стандарты JSON встряхнутся в ближайшие год или два, а это означает, что вскоре XML может постигнуть та же участь, что и дискеты и перфокарты.

См .: Ссылка

Что касается ответа, вы можете дать ответ как

return response(['status' => true, 'message' => 'Entry Added / Update', 'data' => $data / []])

Это зависит от платформы, для которой вы создаете API, если вы не хотите делиться данными на экране, например, вы просто хотите уведомить пользователя о том, что данные добавлены, обновлены или удалены, простое сообщение - это больше, чем довольно. Но если вы хотите показать данные (некоторые) пользователю, вы можете добавить обновленные данные в массив, как показано выше.

2
Gaurav Dave 16 Апр 2016 в 21:32