Я розробляв веб-додаток, а потім перестав думати про те, як мій api повинен бути розроблений як RESTful веб-сервіс. Наразі більшість моїх URI є загальними і можуть застосовуватися до різних веб-додатків:
GET /logout // destroys session and redirects to /
GET /login // gets the webpage that has the login form
POST /login // authenticates credentials against database and either redirects home with a new session or redirects back to /login
GET /register // gets the webpage that has the registration form
POST /register // records the entered information into database as a new /user/xxx
GET /user/xxx // gets and renders current user data in a profile view
POST /user/xxx // updates new information about user
У мене є відчуття, що я роблю тут багато неправильного після того, як тикаю на SO та Google.
Почнемо з того /logout
, можливо, оскільки я нічого не роблю GET
- може бути більш доречним POST
запит /logout
, знищити сеанс, а потім GET
перенаправити. І чи повинен /logout
термін залишатися?
Що про /login
і /register
. Я міг би змінити , /register
щоб , /registration
але це не змінює , як моя служба в основному працює - якщо вона має більш глибокі питання.
Зараз я помічаю, що ніколи не виставляю /user
ресурс. Можливо, це можна було б якось використати. Наприклад, візьміть користувача myUser
:
foo.com/user/myUser
або
foo.com/user
Кінцевому користувачеві не потрібна додаткова багатослівність у URI. Однак, хто з них є більш привабливим візуально?
Тут я помітив деякі інші питання на ТАК щодо цього бізнесу REST, але я дуже вдячний, коли б це було можливо, деякі поради щодо того, що я виклав тут.
Дякую!
ОНОВЛЕННЯ:
Я також хотів би отримати декілька думок щодо:
/user/1
проти
/user/myUserName