Мы разрабатываем API REST, и мы разрешаем все четыре стандартных глагола. В случае POST/PUT клиенту API необходимо будет изменять значения для определенных полей. Возьмем пример псевдо:Рекомендации по использованию REST API
class Employee {
long Id;
long DepartmentId; // should i expose this?
string Department; // or should i expose this?
}
- Потребительная дело здесь в том, что клиент будет POST нового сотрудника и заполнить все поля.
- Существует таблица отделов в нашей базе данных за API
- Клиент должен будет получить список допустимых отделов отправить
- клиент может сделать вызов API, чтобы получить список отделов, как например:
{ "department_id": "1", "отдел": "Технология" },
{ "department_id": "2", «departm ent ":" Людские ресурсы " }
Клиент может включать один из вышеуказанных действующих департаментов. Мой вопрос: должен ли запрос POST/PUT включать идентификатор отдела или имя? Идентификатор кажется более легким для проверки, но менее «дружественным» для клиента. В любом случае мы можем правильно проверить нашу справочную таблицу, но мне интересно, что такое лучшая практика.
Будет ли клиент быть какой-то формой выбора, как выпадающий список для отдела? Я думаю, что должен быть класс 'Департамент'. – christiandev
Я могу сделать класс отдела, но это все еще не решает мою проблему. Я предполагаю, что API не имеет интерфейса, и клиент должен делать запросы, чтобы получить все справочные данные загодя. –
API Потребители должны отправить вам ID * и * полномасштабный объект. Легче для них (новый объект(), заполнить реквизит, отправить материал) и для вас (захватить объект, использовать его как есть после проверки содержимого, мало усилий). Никогда, * никогда * не используйте имена для связывания данных. – Alex