Сценарий 1 В моем веб-приложении, скажем, есть экран для добавления сотрудника в систему.Как только пользователь вкладки после ввода имени сотрудника, он генерирует код сотрудника автоматически (который является следующим полем) на основе некоторой логики и уже присутствующих записей в базе данных.
Теперь я хочу выставить остальные APIдля этого приложения, чтобы сторонние разработчики могли строить поверх него.Итак, у меня будет ресурс под названием /Employee
, который будет отвечать за глаголы GET, PUT и DELETE.Но когда клиенту нужно автоматически заполнить код, который является операцией GET, он будет на каком ресурсе?Должен ли я сделать новый ресурс /EmployeeCodeFor/{Name}
или я должен получить его на /Employee/{Name}/GenerateCode
?Если я выберу /Employee/{Name}/GenerateCode
, то как насчет моего ресурса GET, PUT и DELETE для Employee
, то есть фактически /Employee/{Id}
?
Сценарий 2 Здесь давайте возьмем случай с сообщением stackoverflow.Допустим, ресурс будет /Post/{Id}
.Так же, как и в предыдущем примере, он перечисляет мне возможный дубликат вопроса, как только я выхожу из поля Title
.
Опять же, по какому URL я должен получить эти возможные дубликаты?
Сейчас я не могу придумать больше сценариев.Но многие подобные сценарии могут возникнуть в реальной разработке приложений.Как реализовать их в режиме RESTful?
Обновление по сценарию 1 Код и идентификатор - это два разных поля.Идентификатор является первичным ключом, код может дублироваться в разных отделах просто для иллюстрации.Кроме того, для создания кода, имя должно быть предоставлено в первую очередь.Таким образом, если пользователь вводит имя «FirstName LastName», то сервер может генерировать FL003
в виде кода, предполагая, что в указанном отделе уже есть еще два сотрудника с именем, начинающимся с F
, и фамилией, начинающейся с L
.Отдел можно определить по зарегистрированному пользователю.