我有一个遗留项目,它使用 700 多个复杂的存储过程来获取和修改数据。有没有一种方法可以使用 Graphql 创建 API 而不更改存储过程?
根据您使用的语言,可能存在支持存储过程的 GraphQL 库。如果没有,您可以自己编写。
您还可以编写一个薄 REST 层,并在其上分层 GraphQL。
编辑:如果您使用的是 ASP.NET Core,请查看此库并按照其文档介绍页面中的示例进行操作,除了将硬编码数据替换为您通常用于与 SQL Server 通信以获取的库中的调用之外。所需数据。我推荐Dapper(它实际上是由 Stack Overflow 的人编写的!),因为它可以让您编写轻量级查询conn.Query("[dbo].myFooProc @bar @baz", new { bar = quux, baz = 22 })(或使用您拥有的任何现有类)。
所以最终你的代码看起来像
public class FooBarQuery : ObjectGraphType
{
public FooBarQuery()
{
var MyData = conn.Query("[dbo].myFooBarProc @FooId", new { FooId = 2 }).ToList();
Field<FooType>(
resolve: context => MyData;
);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4008 次 |
| 最近记录: |