2014-11-26 5 views
0

내 애플리케이션에 사용자가 있고 각 사용자가 이메일 주소로 고유하게 식별된다고합니다. 이 경우 자동 증가 ID를 기본 키로 사용하는 대신 이메일의 자연 키를 사용하는 것이 좋습니다. 이는 대부분의 시스템에서 일반적입니다.이메일 주소를 REST API의 리소스 식별자로 사용

그런 다음 내 REST API에서 이와 같이 특정 사용자에게 액세스해도 괜찮습니까?

https://api.whatever.com/v1/users/[email protected] 

전통적으로, 당신은 [email protected] 대신에 사용자 ID를 사용하는 거라고,하지만 내 응용 프로그램에서 이메일 주소를 사용자 계정의 고유 식별자입니다.

무엇을 고르시겠습니까? REST URL에서 이메일을 자연어 키로 사용하거나 대신 사용할 사용자 ID 입력란을 만드시겠습니까?

답변

2

사용자 ID를 사용합니다. 사람과 전자 메일 주소는 1 대 1 관계가 아니며 수명주기가 동일하지 않으므로 하나를 다른 식별자의 식별자로 사용하는 것은 좋지 않습니다.

사람들에게 이메일이 두 개 이상있을 수 있습니다. 어쩌면 그들은 이메일 계정을 가지고 있지 않을 수도 있습니다. 어쩌면 그들은 이메일을 바꿀 수도 있습니다. 전자 메일 주소를 키로 사용하면 나중에 문제가 발생할 수 있습니다.

+0

나는 전자 메일을 변경한다는 생각을 결코 생각하지 못했습니다. 즉, 전자 메일을 기본 키로 사용하면 기본 키가 매번 바뀔 것이고 나는 또한 나쁜 연습이라고 확신합니다. 고맙습니다! –

0

는 URL이 수 우편보다 빠르게 의해 ID로 그렇지 가져 오는 https://api.whatever.com/v1/users/john%40smith%2Ecom

을 인코딩해야하고, 어쩌면 당신은 전자 메일 주소

의 지식을 얻을해야 다른 응용 프로그램의 사람에게 API를 열려면