Первый раз разрабатываю RESTful API. Делаю на Yii2. Вроде как все понятно, но все же хочется понять, правильно ли я понимаю саму идею RESTful? Мне кажется, я что-то упускаю. Про RESTful можно нагуглить довольно много информации, но создаётся впечатление, что вся информация написана для тех, кто уже знает что это такое. Да, я читал про единый интерфейс, отсутствие состояний, я понимаю как и в каких случаях слать запросы (GET, POST, PUT, DELETE и свои методы) и прочее, но все же хочу задать свои вопросы.
Пожалуйста, опровергните или подтвердите мои утверждения и помогите "уловить" суть
- RESTful это не стандарт. Т.е. мы вольны отдавать данные в любом формате и в любой структуре. И в документации к API мы описываем получившиеся формат и структуры, который нужно от него ожидать
- Для запросов к API мы используем GET, POST, PUT, DELETE и свои методы при необходимости
- По http-коду ответа мы определяем, что именно нам пришло в ответе (информация о ресурсе, информация об ошибке или что-то еще)
- В теле ответа мы получаем только данные (данные самого ресурса или подробную информацию об ошибке)
- Вся дополнительная информация (пагинация, ссылки на ресурсы и прочее передаются в http-заголовках)