PRISMA:如何接收 REST API 发布请求(非 GraphQL)?

Posted

技术标签:

【中文标题】PRISMA:如何接收 REST API 发布请求(非 GraphQL)?【英文标题】:PRISMA: How to receive REST API post requests (non GraphQL)? 【发布时间】:2019-10-28 07:26:52 【问题描述】:

如何创建一个路由来接收非 graphql 的 post 请求?

我有我的 graphql 服务器,想在上面接收一些非 graphql 数据。

const server = new GraphQLServer( ... )

server.express.get('/route', async (req, res, done) => 
  const params = req.body;
  // do some actions with ctx..
)

我们如何从这条路线访问ctx.db.queryctx.db.mutation? 谢谢!

相关问题:https://github.com/prisma/graphql-yoga/issues/482 https://www.prisma.io/forum/t/how-to-create-one-route-for-receiving-rest-api-post-requests/7239

【问题讨论】:

【参考方案1】:

您可以使用在上下文中传递的相同变量:

const  prisma  = require('./generated/prisma-client')
const  GraphQLServer  = require('graphql-yoga')

const server = new GraphQLServer(
  typeDefs: './schema.graphql',
  resolvers,
  context: 
    prisma,
  ,
)

server.express.get('/route', async (req, res, done) => 
  const params = req.body;
  const user = prisma.user(where: id: params.id )

  res.send(user)
)

【讨论】:

以上是关于PRISMA:如何接收 REST API 发布请求(非 GraphQL)?的主要内容,如果未能解决你的问题,请参考以下文章

harbor rest api 转graphql api

使用 REST API 从 Web 服务接收 JSON 数据

我不能在 apollo-server 中创建一个 rest API 吗?

将 REST API 获取请求转换为 GraphQL

我们如何将 REST api 与 Tally 集成?

角度不会向节点js rest API发出发布请求