В последние несколько лет было много шумихи над REST, и я попытался принять принцип и понять его преимущества. Однако некоторые вещи о REST все же ускользают от меня. Я постараюсь быть кратким и точным:Что такое приложение RESTful?
- Может ли веб-приложение считаться RESTful? В чем преимущества этого? Я могу понять (в какой-то степени) преимущества RESTful-сервиса, который должен использоваться многими клиентами, но что получается благодаря использованию принципов REST при разработке интерфейса приложения, который должен использоваться интерфейсом HTML/JS?
- REST обязывает использовать глаголы, которые примерно соответствуют операциям CRUD и на которые сервер отвечает представлениями, которые, в свою очередь, помещают клиента в новое состояние. Означает ли это, что ВСЕ действия на ресурсе должны выполняться посредством модификации/создания/удаления этого и, возможно, многих других связанных ресурсов? Как насчет «атомарности» таких операций (т. Е. Транзакций)?
- Служба, совместимая с REST, должна быть самоописательной (по принципу HATEOAS), но отсутствие метаданных делает невозможным для клиента, например. создать ресурс, не зная точно, какие поля (и их типы) являются обязательными. Эта информация все равно должна предоставляться вне диапазона. Здесь что-то не хватает?
У меня могло возникнуть больше вопросов, но этого будет достаточно, если кто-то сможет прояснить эти моменты для меня.