Создание REST API с помощью SLIM Framework. Поддержание REST, но предоставление правильного представления

0

Я пытаюсь оборачивать голову, как создать RESTful API с SLIM. Я понимаю REST, и у меня хорошее понимание тонкости, но я могу понять, как отобразить правильные шаблоны.

Это типичный REST API

$app->get('/wines', 'getWines');
$app->get('/wines/:id',  'getWine');
$app->post('/wines', 'addWine');
$app->put('/wines/:id', 'updateWine');
$app->delete('/wines/:id',   'deleteWine');

Теперь я не понимаю, есть ли у всех маршрутов один и тот же URL-адрес, как вы можете отобразить правильный шаблон представления. Первый запрос GET отображает все вина. Следующий GET отображает только вино с указанным идентификатором. Теперь это то, где мое понимание колеблется. Когда я хочу добавить вино, я пишу маршрут, который по-разному реагирует на запрос GET или POST.

$app->map('/wines', function() {
    echo "I respond to multiple HTTP methods!";
})->via('GET', 'POST'); 

Поэтому для запроса получения я хочу показать форму, чтобы я мог ввести новое вино, но поскольку URL-адрес совпадает с тем, как получить все вина, и они оба являются запросами GET, как я могу отобразить правильный шаблон.

Я надеюсь в этом есть смысл.

благодаря

Теги:
rest
slim

1 ответ

0
Лучший ответ

Вы должны добавить форму для ответа на GET/wines/ которая описывает POST/wines/ и вы должны добавить ссылки для каждого из GET/wines/:id -s.

Вы можете использовать HAL для ссылок и некоторое ad-hoc решение для формы. Если вы хотите более сложное решение, вы можете использовать Hydra с JSON-LD.

  • 0
    Спасибо за информацию.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню