繁体   English   中英

如何格式化SQL输出以匹配GraphQL类型?

[英]How can I format my SQL output to match my GraphQL type?

我有一个谷歌为此,但似乎找不到答案。

我有一个GraphQL类型,看起来像这样:

type Ticket {
    id: Int!
    bandID: Int!
    band: Band
    ticketURL: String!
    price: Int!
    date: String!
  }

我希望能够从MSSQL,GraphQL和JS返回类似的内容:

[
  {
    id: 1,
    ticketURL: "https://example.co.uk",
    price: 50,
    date: "2019/01/01",
    band: {
     id: 1,
     name: "Band name"
    }
  }
]

返回这样的数据结构的最有效方法是什么? ,想到的第一件事是像下面,但似乎如此低效和错误的。

// Call SQL to get all tickets: "SELECT * FROM Ticket"
// For each ticket
  // Call SQL to get the Band
  // Merge with the ticket obj

一般来说,我鼓励您不要为所描述的内容开枪。 GraphQL规范的设计原则鼓励您确保您的API逻辑专门满足客户的需求,并且如果替换您的GraphQL时出现了更适合您需求的东西,那么您应该能够删除GraphQL层并进行替换无论新事物是什么,都无需重写逻辑。 根据GraphQL的发明者,这个特定的要求与API紧密耦合。 对于大多数人来说,数据库的延迟并不是需要这种优化的足够大的瓶颈。 相反,我鼓励您使用数据加载器(用于缓存和批量请求),仅编写解析器以调用ORM或任何获取这些数据点的方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM