为什么 ADO.NET 数据服务使用 $ 作为查询参数标识符?

发布于 2024-07-25 01:47:14 字数 329 浏览 5 评论 0原文

/Customers?$skip=30&$top=10

您需要“吗?” 或“&” AND '$' 来标识查询参数?

这是实现泄漏到接口中的情况吗? 我不一定想向用户公开我正在使用 .NET 数据服务的明目张胆的事实。 特别是,如果以后我想将实现更改为另一种技术...

或者,是否有一种简单的方法可以禁用“$”来识别查询选项的需要?

所以它看起来更漂亮......

/Customers?skip=30&top=10    

谢谢

/Customers?$skip=30&$top=10

Is there a reason why you need '?' or '&' AND '$' to identify a query parameter?

Is this a case of the implementation leaking into the interface? I dont necessarily want to expose to users the blatant fact that I'm using .NET Data Services. especially, if at a later date I want to change the implementation to another technology...

Or, is there an easy way to disable the need for the '$' to identify a query option?

So it looks like a much more presentable...

/Customers?skip=30&top=10    

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

最佳男配角 2024-08-01 01:47:14

$ 字符开头的查询字符串选项称为系统查询选项,表示 ADO.NET 数据服务支持的操作。 基本上,这样做是为了区分系统范围的“关键字”和模型属性名称。

要解决此问题,您可以尝试将网址从 /Customers?skip=30&top=10 重写为 /Customers?$skip=30&$top=10 或甚至在 HTTP 标头中传输此系统信息(如果可以选择)。

Query string options that start with the $ character are known as System Query Options and denote actions support by ADO.NET Data Services. Basically, this is done to distinguish system-wide "keywords" from model property names.

To solve this issue, you may try rewriting your URLs from /Customers?skip=30&top=10 to /Customers?$skip=30&$top=10 or even transfer this system information in HTTP headers (if this is an option).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文