随笔分类 - (新) OData
摘要:前言 本篇记入一些 OData 的小东西。 Query string too long OData 使用 GET 请求,然后搭配 query string $filter, $select, $expand 等等。 这就有一个问题了。假如 $filter, $select 非常非常长会出问题吗? 通
阅读全文
摘要:前言 有时候太久没有写真的会忘记,官网又太罗里吧嗦,还是写一篇帮助以后快速复习进入状况吧。 Request URL: "/root/version/entities" OData path 长这样 /api/v1.0/projects 第一个 segment 是 API 路径的开头。 常见的是开头有
阅读全文
摘要:前言 OData 有很多很多的坑,我的主张是能少用一样是一样,比如 Batch Processing 不要用,Inheritance 不要用,除了 GET 其它 PUT POST DELETE 都不要用,$apply 不要用,等等等。 这篇记入一些,我避开了绝大部分功能后依然掉的坑。 当 $appl
阅读全文
摘要:前言 之前写过 EF Core – Get Started 搭建单侧环境, 这篇补上一个 WebApi + EF Core + OData 创建项目 dotnet new webapi -o EfCoreODataWebApi 是 new webapi 哦, 不是 webapp Install Nu
阅读全文
摘要:GraphQL 很火, 很厉害, 但是它和 OData 有本质的区别. 所以并不是说任何一样对比另一个绝对的好. GraphQL is not OData twitter 的讨论 有几个点是我能 Get 的到的. OData = SQL in URL OData was a way to seria
阅读全文
摘要:前言 EF Core 可以把 expression 转换成 string, 但没办法转回来. 想把 string 转成 expression, 目前最合适的工具是 OData. 虽然 Dynamic LINQ 也有人用, 但毕竟 OData 是微软的, 而且有规范文档. 可惜, 就目前的 OData
阅读全文
摘要:前言 OData 是很冷门的东西, 用的人少, 开发的人少, 文档自然也少的可怜. 如果真的想用它, 多少要对它机制有点了解. 这样遇到 bug, 想扩展的时候才不至于完全没有路. 主要参考: OData NxT 001: Project Proposal OData NxT 002: OData
阅读全文
摘要:前言 OData 其实没有权限的机制, Client 可以任意的 $select, $expand. 即便它可以做简单防御设置, 但是离平常的业务需求还是很远. 一般上 query entity 常见的需求是, 不能 $select 某些 property, 不能 expand 某些 propety
阅读全文
摘要:前言 本来计划用 Custom Serialize 来解决 OData 不支持 [JsonPropertyName] 的问题. 但是后来发现 Custom Serialize 并不能解决这个问题. Custom Serialize 允许我们在 response 的时候修改输出的 JSON 但是 $f
阅读全文
摘要:前言 先看这 3 篇 ASP.NET Core – Web API Versioning ASP.NET Core – Swagger OpenAPI (Swashbuckle) ASP.NET Core – Swagger API Versioning OData versioning 和普通 W
阅读全文
摘要:前言 以前我都是把 ODataController 和普通 API Controller 分开做. (因为 OData 实在多 Bug, 好东西尽量不要掺和它) Read 的部分用 OData, CUD 的部分就用原本的 API. 但最近 OData 弃用了 ODataRoute 这些东西, 改用
阅读全文