2010-08-04 3 views
1

RESTful 아키텍처를 처음 사용하거나 적어도 올바르게 사용하는 것이 처음인데 SOAP만을 사용한 경험이 있습니다. 나는 머리를 감싸는 데 문제가있다. 비슷한 다른 질문이 있다는 것을 알고 있지만 만족스럽게 내 질문에 대답하지 않은 사람은 없습니다.RESTful 애플리케이션 구조

나는이 앱을 막 시작 했으므로 올바른 방법으로 시작하고 싶습니다. 지금 내가 뭘 찾고 있는지는 사용자 등록 화면입니다. 등록 양식을 제출하기 전에 두 가지 유효성 검사 호출이 있습니다. 먼저 사용자가 입력 한 전자 메일이 고유한지 확인하고 고객에게 제공하는 액세스 코드가 데이터베이스에 있는지 확인하는 유효성 검사 호출이있는 확인 호출이 있습니다.

나는 현재는 나는 내가하고 싶은하고있는 무슨 정의하는 액션 인수가 (내가 을 GET 있어야한다고 생각)을 POST로 구성해야합니다. 따라서 전자 메일에는

action=validateemail&[email protected] 

과 같은 인수 문자열이 있으며 내 MembershipController의 사용자 작업을 호출하고 있습니다. 나는 단지, POST, PUT을 얻고, 아직 나는 액션 인수를 사용하여 내 자신의 동사를 정의하고 삭제 동사를 사용해야로이 잘못 완전히 확신합니다.

정직하게, 나는 이것을하는 방법을 모른다. 나는 사용자가 내 자원이되어야한다고 믿지만 전자 메일 유효성 확인을위한 전자 메일은 내 리소스 여야합니다. 나는 내가 뭘하려고하는지 어떻게 묻는 지 짐작한다. 나는 여러분 중 일부가 제출시에 모든 유효성 검증을한다고 말할지도 모른다는 것을 알고 있지만 실제로는 두 가지 방법 모두를 선호합니다. 비동기 유효성 검사와 사용자가 제출할 때 수행 할 유효성 검사를 원합니다.

답변

1

우리는 비슷한 것을하고 우리의 자원을 "계정"이라고합니다. 유효성 검사를 위해 지정된 계정에 대해 GET을 수행하고 HTTP 반환 코드의 유효성을 검사합니다. 404 - 찾을 수 없음이 있으면 제안 된 계정이 존재하지 않는다는 것을 알려줄 것입니다. 그들이 맹 글링 된 데이터를 전달하면 400 - 나쁜 요청은 당신에게 뭔가 잘못되었다고 말할 것입니다. 계정을 만들려면 동일한 리소스의 POST가 필요합니다. 암호 변경과 같은 작업을하려면 PUT이 적절할 수 있습니다. 이미 서버로 여행 중이라면 두 번째 여행을 저장하기 위해 계정이있는 경우 계정을 반환 할 수도 있습니다 (200 - Ok, GET).