{ "@odata.context": "https://localhost:5001/odata/$metadata#Books/$entity", "Id": 1, "ISBN": "111-0-321-56789-1", "Title": "Calculus", "Author": null, "Price": 66.6, "Address": { "City": "Shanghai", "Street": "Beijin Xi Road" } }
高级查询
如果想要使用OData查询的高级功能,可以在注册终结点时额外加上相应的配置。
app.UseMvc(b => { b.Select().Expand().Filter().OrderBy().MaxTop(100).Count(); b.MapODataServiceRoute("odata", "odata", GetEdmModel()); });
访问网址时加上所需的查询内容:
https://localhost:5001/odata/Books?$select=Id,Title
{ "@odata.context": "https://localhost:5001/odata/$metadata#Books(Id,Title)", "value": [ { "Id": 1, "Title": "Calculus" }, { "Id": 2, "Title": "Linear Algebra" } ] }
如果想要按特定条件过滤数据内容的话也很容易:
https://localhost:5001/odata/Books?$filter=Price%20le%2060
{ "@odata.context": "https://localhost:5001/odata/$metadata#Books", "value": [ { "Id": 2, "ISBN": "222-2-654-00000-2", "Title": "Linear Algebra", "Author": null, "Price": 53.2, "Address": { "City": "Shanghai", "Street": "Beijin Dong Road" } } ] }
总结
不难看出,OData的真正魅力在于其对那些高级查询功能的支持,所以在创建RESTful API时,不妨考虑使用OData,这样应该能减少许多不必要的代码工作。
好了,以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。
您可能感兴趣的文章: