c# – RavenDB ID前缀和REST API
我目前正在努力解决一些应该是微不足道的事情,也许是这样,但我找不到合适的解决方案.
我的问题源于RavenDB默认ID结构.假设我们使用HiLo算法创建一个人,我们将得到我们的第一个文档: people/A-1 相关系列“人物”现在有一个成员. 我的问题非常简单:设计一个普通的RESTful方法来获取一个人: GET people/:id 并使用示例文档ID调用它,我的调用将变为: GET people/people/A-1 这显然不起作用,因为斜杠字符是路由分隔符,但是使用RavenDB它也是实体ID的一部分. 我尝试使用不同的分隔符(更改我的客户端代码的约定),因此要获得类似人#A-1的ID,但RavenDB Studio无法识别:如果我尝试将两个文档“链接”在一起ID,只识别标准格式.此外,我找不到在服务器级别设置数据库约定的方法,但仅限于客户端级别. 这个解决方案也感觉像是一个肮脏的解决方法,我正在寻找正确的做事方式. 我知道我可以使用任意ID,比如没有任何前缀的电子邮件地址,但这对于我要存储的各种实体都不可行,自然键在每种情况下都不是一个选项. 所以我要求任何比我更有经验的人使用RavenDB.解决这个问题的正确方法是什么? 解决方法
我没有在玩具项目之外使用过ravendb,但是当我读到ayendes书时,我认为这将是一个问题.
我看到三种可能的方法来规避这个: >指定一个guid作为id,这样你就没有/在你的id中.这可以在文档创建时完成 我想我会用#1. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |