Graphql - загрузка файла с Java-клиента на сервер Node.js - PullRequest
0 голосов
/ 01 октября 2018

Мне нужно загрузить файл / файлы из Java-клиента (который на самом деле является фоновым процессом) на сервер node.js через GraphQL ....

Я полностью осознаю, что есть (путь) лучшие способы сделать это, но это (к сожалению) установка, с которой я застрял.

Работаю над этим уже пару дней - безуспешно ...

ЧтоЯ знаю, что мне нужно отправить многокомпонентный запрос к моей конечной точке мутации 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, im atпотеря ... Я попробовал несколько способов создания многокомпонентной формы, добавив файл, имя файла и что нет ... Попробовал несколько способов построения запроса, с или без тега "переменная" и т. д. и т. д., но я получилтакое ощущение, что я даже близко не понимаю, как это правильно.

Я знаю, как отправлять данные формы через REST (ну ... при широком использовании Google), но не могу обернуть головуделать то же самое с вызовом graphql.

Кто-нибудь знает, как это можно сделать?Или, по крайней мере, некоторые намеки на то, что я мог сделать?Google не помогает мне в этом.

Cheers

...