Graphql 使用Hasura作为数据访问层的最佳和适当方式是什么

Graphql 使用Hasura作为数据访问层的最佳和适当方式是什么,graphql,nestjs,hasura,Graphql,Nestjs,Hasura,我只想将Hasura用作NestJs GraphQL服务器后面的数据访问层,并保留Hasura的所有优点,尤其是订阅的实时功能 其想法是在与Hasura交互之前,构建一个更加定制的API并处理所有业务逻辑 通过这样做,我是否必须自己处理Nestjs层上的安全访问,因为我必须使用Nestjs服务器上的x-Hasura-admin-secret连接到Hasura服务器? 你认为使用Hasura是一个好方法吗 在可扩展的体系结构中,是否有其他替代方案使用Hasura作为数据访问层 谢谢当然你要负责Ne

我只想将Hasura用作NestJs GraphQL服务器后面的数据访问层,并保留Hasura的所有优点,尤其是订阅的实时功能

其想法是在与Hasura交互之前,构建一个更加定制的API并处理所有业务逻辑

通过这样做,我是否必须自己处理Nestjs层上的安全访问,因为我必须使用Nestjs服务器上的x-Hasura-admin-secret连接到Hasura服务器? 你认为使用Hasura是一个好方法吗

在可扩展的体系结构中,是否有其他替代方案使用Hasura作为数据访问层


谢谢

当然你要负责NestJS层的安全,但我猜你指的是身份验证。如果这是真的,那么这完全取决于您计划使用的身份验证

如果您希望使用JWT或Webhooks实现身份验证(请参阅此处了解解释),我建议让Hasura负责,在这种情况下,您的附加层将只将请求转发给Hasura,而无需提供
X-Hasura-Admin-Secret

据我所知,人们正在使用他们的特性将“Hasura层”添加到他们已经存在的GraphQLAPI或公共GraphQLAPI中


我们可以了解更多您希望添加图层的原因吗?我确信Hasura提供了定义自定义查询和聚合查询的方法,并且根据我的经验提供了大量的查询/转换。此外,它还提供了您可能会感兴趣的其他功能(订阅、事件…)

FWIW,Prisma与Hasura有许多相同的功能,包括订阅支持,我认为这可能是一个很好的选择。