于10月8日至10日加入我们,在纽约市学习关于 GraphQL 联邦和 API 平台工程的最新技巧、趋势和新资讯。加入我们,共同参加在纽约市举行的 GraphQL 大会2024
文档
免费开始
您正在查看该软件以前版本的文档。 切换到最新稳定版本。

上传文件


支持通过GraphQL多部分请求规范.

首先,将以下自定义映射添加到Apollo Gradle插件的配置中:

build.gradle[.kts]
apollo {
service("service") {
mapScalarToUpload("Upload")
}
}

在以下示例中,定义了一个名为Upload的自定义标量类型。您可以根据需要为自己的方案选择不同的名称。

注意:您不需要为Upload注册类型适配器,因为mapScalarToUpload方法会自动进行注册。

现在,让我们考虑一个接收Upload类型参数的操作:

mutation SingleUpload($file: Upload!) {
singleUpload(file: $file) {
id
path
filename
mimetype
}
}

可以使用工厂方法之一创建Upload的实例:

// If you're on Android/JVM, you can turn a File into an upload
val upload = File.toUpload("application/json")
// On multiplatform, you can use `DefaultUpload`
val upload = DefaultUpload.Builder()
.fileName("filename.txt")
.content { sink ->
okioSource.use { sink.writeAll(it) }
}
.build()

并执行您的mutation操作:

val response = apolloClient.mutation(SingleUploadMutation(file = upload)).execute()
上一步
UI 测试
下一步
强制执行非空性
评分文章评分在GitHub上编辑Edit论坛Discord

©2024Apollo Graph Inc.,即Apollo GraphQL。

隐私政策

公司