2010-08-04 2 views
1

Je suis novice dans l'architecture RESTful ou, du moins, je ne suis pas habituée à l'utiliser correctement. Je n'ai eu qu'une véritable expérience avec SOAP. J'ai un problème à emballer ma tête autour de certaines choses. Je sais qu'il y a d'autres questions qui sont semblables, mais aucune, que j'ai trouvée, ne répond à ma question de façon satisfaisante. Je ne fais que commencer cette application, je veux commencer de la bonne manière et ce que je regarde maintenant est un écran d'enregistrement d'utilisateur. J'ai deux appels de validation qui se produisent avant que le formulaire d'inscription est même soumis. J'ai d'abord un appel de validation qui vérifie que l'email entré par l'utilisateur est unique et ensuite j'ai un appel de validation qui vérifie pour s'assurer qu'un code d'accès que nous fournissons au client existe dans la base de données.RESTful Structure de l'application

J'ai actuellement structuré comme il POST (que je crois devrait être un GET) et j'ai un argument d'action qui définit ce que je voulais faire. Donc, pour l'e-mail que j'ai une chaîne d'arguments tels que

action=validateemail&[email protected] 

et il appelle l'action de l'utilisateur de mon MembershipController. Je suis tout à fait sûr que cela est faux que je ne devrais utiliser les verbes GET, POST, PUT et SUPPRIMER Je suis encore en train de définir mon propre verbe en utilisant l'argument d'action.

Honnêtement, je ne sais pas comment faire. Je crois que l'utilisateur devrait être ma ressource mais peut-être pour la validation d'email L'email devrait être ma ressource. Je suppose que ce que je demande est comment voulez-vous faire ce que je suis en train de faire? Je sais que certains d'entre vous pourraient juste dire faire toute la validation sur le soumettre, mais je préférerais le faire dans les deux sens vraiment. Je voudrais la validation asynchrone ainsi que la validation que je vais effectuer lorsque l'utilisateur soumet.

Répondre

1

Nous faisons quelque chose de similaire et notre ressource s'appelle "Compte". Pour la validation je ferais un GET pour le compte spécifié et validerai le code de retour HTTP. Je m'attendrais à un 404 - Not Found pour me faire savoir que le compte proposé n'existe pas. Si elles transmettaient des données mutilées, une 400 - Mauvaise demande vous dirait que quelque chose n'allait pas. Pour créer le compte, un POST de la même ressource ferait l'affaire. Pour faire quelque chose comme changer un mot de passe, un PUT pourrait être approprié. Je pense que si vous faites déjà un voyage sur le serveur, vous pouvez aussi bien retourner le compte (200 - Ok sur le GET) s'il existe pour vous sauver le deuxième voyage.