Структура приложения RESTful - PullRequest
1 голос
/ 04 августа 2010

Я новичок в архитектуре RESTful или, по крайней мере, новичок в ее правильном использовании. У меня был только настоящий опыт работы с SOAP. У меня проблема с тем, чтобы обернуть голову вокруг некоторых вещей. Я знаю, что есть и другие похожие вопросы, но ни один из них, которые я нашел, удовлетворительно не отвечает на мой вопрос.

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

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

action=validateemail&value=email@email.com

и он вызывает действие User моего MembershipController. Я полностью уверен, что это неправильно, поскольку я должен использовать только глаголы GET , POST , PUT и DELETE пока я определить свой собственный глагол с помощью аргумента действия.

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

1 Ответ

1 голос
/ 06 августа 2010

Мы делаем нечто подобное, и наш ресурс называется «Аккаунт».Для проверки я бы сделал GET для указанной учетной записи и проверил код возврата HTTP.Я ожидаю, что 404 - Not Found даст мне знать, что предлагаемого аккаунта не существует.Если они передадут искаженные данные, 400-Bad Request скажет вам, что что-то не так.Чтобы создать учетную запись, POST того же ресурса будет делать.Чтобы сделать что-то вроде смены пароля, может быть уместен PUT.Я думаю, что если вы уже совершаете поездку на сервер, вы также можете вернуть учетную запись (200 - ОК на GET), если она существует, чтобы спасти себя во второй поездке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...