我有一个用户的API响应,如下所示:
{
"id": 4,
"name": "Bob",
"favorite_color": "red",
"subscribed_to_newsletter": true
}
但是,如果用户尚未注册新闻稿,则数据库中的值为空。因此,查询该用户可能如下所示:
{
"id": 4,
"name": "Bob",
"favorite_color": "red",
"subscribed_to_newsletter": null
}
我最初的反应是在数据库中设置subscribed_to_newsletter
字段的默认false值。
但是,在注册时,我们不会询问用户是否要订阅时事通讯。所以,我认为保持null表示我们还没有收到该字段的值。然后,一旦他们接受或拒绝注册,我就可以设置值。
但是,我想知道在API中将布尔值作为null发送是不好的做法,因为客户端可能期望是真/假,因此会导致客户端出现错误。
任何人都有这方面的经验吗?
答案 0 :(得分:1)
默认情况下不发送null,除非您正确记录它。在那种情况下,它会没事的。您提供了API的文档,对吗?
答案 1 :(得分:0)
对我来说,“null”看起来你从来没有问过用户是否想要订阅só当你发现它要求de用户并将true或false设置为你的数据库....下次你只会找到真/假值...如果不希望/可以向用户询问,则设置为默认值。
if(subscribed_to_newsletter iquals null) { SETsubscribed_to_newsletter(假) 要么 询问用户并设定价值...... } 其他 ...
但更好的是阅读API文档并确保是否可以返回null。 祝你好运!