graphql服务器端验证
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了graphql服务器端验证相关的知识,希望对你有一定的参考价值。
我只想了解人们认为使用graphql / orm设置在服务器上验证用户输入文件(例如url或电子邮件地址)的最佳实践是什么。
我的应用程序正在使用apollo服务器/ gql并以续集作为orm。
[我见过一些在序列中对模型进行验证的人,以及使用验证库或自定义标量在graphql解析器中进行验证的其他示例。
任何一种方法都可取吗?谢谢。
答案
输入验证是某种AOP,例如身份验证和授权。据我所知,有五种方法可以做到这一点。
- 使用常规方法在解析器中进行验证,例如
if (validationPass) {...} else {..}
-太冗长,使分解器变薄是最佳实践。因为这是某种路由层。不推荐 - [使用合成库在解析器中进行验证,例如graphql-resolvers-推荐
- 使用一些装饰器或模型架构定义在模型层(ORM)中进行验证。 -推荐
- GraphQL模式指令中的验证-有点复杂,不推荐
- GraphQL middleware中的验证-有点复杂,您需要设计中间件并将验证规则映射到相应的Query and Mutation,您很可能需要使用
info
参数来获得GraphQL操作。不推荐
以上是关于graphql服务器端验证的主要内容,如果未能解决你的问题,请参考以下文章