Как создать динамическую форму с использованием REST?
С идеологической точки зрения, клиент посылает на сервер запрос с заголовком «Accept: формат», сервер вспоминает, умеет ли он описывать формы в таком формате, выдает описание формы в нём и обязательно указывает его Content-type. Клиент смотрит на Content-type, вспоминает, умеет ли он обрабатывать этот формат и рендерит форму. Сама идеология REST не накладывает никаких ограничений на то, как именно передавать данные.

Например можно с сервера выдать HTML страницу с формой, клиент смотрит, видит html, содержимое head добавляет к текущему head страницы (чтобы стили подгрузились), а содержимое body добавляет в div для формы. Очень соответсвует REST.
Что-то типа того:
[
    {name: "fieldName", 'type': "email", 'length': {min: 10, max: 50}, label: "Field Label"}
]


И все в таком духе. Реализовать сборщик формы в зависимости от типа тоже реально.

Еще есть готовые реализации. Я увы работал с этой проблемой только в контексте работы с Backbone. Тут мне помогла эта реализация