Appengine ID/Name vs WebSafeKey



在java中编写端点时,通过键查找项,我应该使用Id还是webSafeString键?在什么情况下这很重要?

由你决定。

  • 实体有父实体吗?然后,您可能希望使用urlsafe表示,因为单个字符串将包含实体的完整路径。如果你使用一个ID来代替,你可能需要手动包含所有父节点的ID,直到根节点。

  • 没有家长&id是数字/字母数字?然后只使用id,因为它们看起来更干净(再次,这不是一个规则,完全取决于你)。

  • 没有父母但id中有特殊字符?使用urlsafe表示,因为您可能会遇到无法在HTTP中使用某些特殊字符而不进行编码的问题。

  • 注#1:urlsafe表示有实体名称编码,可以很容易地解码,这是不太可能的隐私问题,但你仍然应该意识到这一点。实际数据(id)也被简单地编码,可以很容易地解码,所以当你使用个人信息,如电子邮件作为id时要小心,它们在urlsafe中是不安全的。

  • 注#2:如果你决定在将来改变你的数据结构(父母<->孩子),你可能会遇到一些urlsafe数据你发给你的用户谁不知道你可能已经做了更改。

最新更新