首页 > 解决方案 > Graphql - 从 Java 客户端上传文件到 Node.js 服务器

问题描述

我需要通过 GraphQL 将 Java“客户端”(实际上是后台进程)中的文件/文件上传到 node.js 服务器......

我完全意识到有(方式)更好的方法可以做到这一点,但(不幸的是)这是我坚持的设置。

现在已经为此工作了几天-没有任何成功...

我所知道的是,我需要向我的 graphql 突变端点发送一个多部分请求。但我要么不擅长 Java,不熟悉 GraphQL 和/或只是愚蠢地这样做......

我从那里的小资源中收集到的内容:

服务器端

在服务器端,我正在使用 Appollo-Express 服务器

根据我在官方文档中阅读的内容,我需要一个如下所示的模式:

[...]
type Query{
   uploads:[File]
}

type Mutation {
    singleUpload(file: Upload!): File!
}
type File {
    filename: String!
    mimetype: String!
    encoding: String!
} 
[...]

解析器看起来有点像:

    [...]
    Mutation: {
        async singleUpload(parent, { file }) {
            const { stream, filename, mimetype, encoding } = await file;

            *DO MAGIC*
        }
    }
    [...]

客户端

TBH,我不知所措...我尝试了多种创建多部分表单的方法,附加文件,文件名等等...尝试了多种构建查询的方法,有或没有“变量”标签等.但我有一种感觉,我什至还没有接近正确。

我知道如何通过 REST 发送表单数据(嗯......广泛使用谷歌),但不能用 graphql 调用来做同样的事情。

有没有人知道这是如何可行的?或者至少有一些提示,我可以做什么?谷歌根本没有帮助我。

干杯

标签: javagraphqlmultipartform-data

解决方案


推荐阅读