我正在考虑为我的新api使用一种新的模型 struct .
当前状态
我有GET
、POST
、PUT
和DELETE
个端点.忘记DELETE
吧,因为它只需要一个查询参数,没有模型.
这三个端点都使用相同的模型:
Car Model
id: string | undefined;
manufacturer: string;
date: Date;
问题
当通过GET
端点请求一辆车时,理论上我可以得到一辆没有id
的车.因此,当我想将ID
传递到DELETE
端点时,我总是需要判断ID是否未定义.
可能的解决方案
for each HTTP方法提供不同的模型.
1. Car Model for POST request
id: string | undefined;
manufacturer: string;
date: Date;
2. Car Model for [PUT request, GET response, ...]
id: string;
manufacturer: string;
date: Date;
我也想提供PATCH
个要求,我也需要这个模型
3. Car Model for PATCH request
id: string | undefined;
manufacturer: string | undefined;
date: Date | undefined;
问题
- 总的来说,我需要三种不同的模型.但是,这真的值得一试并被视为"良好实践"吗?
- 如果这是一种"良好实践",我应该如何命名这些模型?