2014-09-26 2 views
1

Нужно ли использовать форму (формообразователь) для отправки данных POST в symfony? Например, login by xml или что-то в этом роде?Symfony REST отправить сообщение без формы?

Я смущен, поскольку есть люди, которые говорят мне, что я должен, а с другой стороны есть кто-то, кто говорит мне, что мне не нужно, потому что я использую его как REST api ???

Было бы здорово, если мы сможем пройти через возможности, которые у меня есть с REST и CRUD.

Я немного смущен, потому что в случае входа в систему я не хочу привязывать запрос к форме или сущности или это единственный способ обработки, например. данные для входа?

Заранее за вашу помощь.

ответ

2

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

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

+0

ok. вот что я тоже думал. Большинство примеров делают put/post в книжном магазине, блоге или подобном. Для этих примеров форма - как вы уже сказали, - самый простой способ получить данные, преобразованные/сохраненные. Но, пожалуйста, не могли бы вы рассказать мне, как вы, например, будете обращаться с логином? У меня было множество возможностей, например. используя искатель xml и т. д., но это кажется неправильным способом сделать это, и по той причине, что я новичок в symfony, я бы использовал правильный способ справиться с этим. – TheTom

+0

Ну, любая форма должна быть связана с сущностью или чем-то, что будет сохраняться или обрабатывать данные, предоставленные пользователем; таким образом, вы всегда можете использовать формы, не обращая внимания на то, являются ли базовые данные моделью или нет. – kix

0

Один подход к «логину» - это думать о терминах доступа.

POST/токены с полезной нагрузкой (xml или, возможно, json) имени пользователя и пароля. Сервер аутентифицирует пользователя, затем генерирует и возвращает уникальный токен, связанный с пользователем.

При последующих запросах REST включите токен в заголовке запроса. Из маркера сервер может определить пользователя и получить доступ к защищенным ресурсам соответственно.

http://symfony.com/doc/current/cookbook/security/api_key_authentication.html

Это, конечно, только один подход, который работал для меня.

===========================

Кстати, @Alex конечно ответил на ваш фактический вопрос о формах.

Смежные вопросы