我们正在开发一个 REST API,并且我们允许所有四个标准动词。在 POST/PUT 的情况下,API 客户端将需要修改某些字段的值。以伪示例为例:
class Employee {
long Id;
long DepartmentId; // should i expose this?
string Department; // or should i expose this?
}
- 这里的用例是客户端将发布一个新员工并填写所有字段。
- API后面我们的数据库中有一个部门表
- 客户将需要获取有效部门列表以发送
- 客户端可以调用 API 来获取部门列表,如下所示:
{“department_id”:“1”,“department”:“技术”},
{“department_id”:“2”,“department”:“人力资源”}
客户可以包括上述有效部门之一。我的问题是,POST/PUT 请求是否应该包含部门 ID 或名称?id 似乎更容易验证,但对客户来说不太“友好”。无论哪种情况,我们都可以根据我们的参考表正确验证,但我想知道最佳实践是什么。