gpt4 book ai didi

database - 非 CRUD 查询的 API 设计

转载 作者:搜寻专家 更新时间:2023-10-30 20:57:23 25 4
gpt4 key购买 nike

我们正在考虑创建一个 API 应用程序,供我们的内部应用程序和客户使用。这对于 CRUD API 查询来说似乎很简单,但我们在处理更复杂的查询时遇到了问题。

例如,假设一个内部应用程序想要了解“为每家公司计算用户数量和仪表板数量,并返回结果”,这将如何作为 API 的一部分公开?

如果我们对所有公司的列表发出一个查询,然后为每个公司触发两个查询来计算用户和仪表板,我认为性能会成为一个问题。

另外,我们如何处理我们目前硬编码 SQL 以进行优化的问题?

也欢迎任何推荐的读物。

最佳答案

我为所有数据库表生成 crud 存储过程,包括通过所有外键进行选择,然后为所有数据库表生成域对象。对我来说,对象映射感觉更易于使用。

如果有特定的数据 View 会导致问题或不适合模型。我会用扩展数据扩展现有的域对象。例如:

public class Customer
{
public int CustomerID{get;set;}
}

public class CustomerListingView:Customer
{
public int NumberOfOrders{get;set;}
public int NumberOfSomethingElse{get;set;}
}

这至少允许您将自定义 View 数据转换为需要父类(super class)型的 Controller 函数。

关于database - 非 CRUD 查询的 API 设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15977936/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com