我们有一个带有字节数组(Blob)字段的GraphQL突变。如何使用Insomnia或GraphQL Playground之类的工具发送字节数组数据来测试API?
mutation {
saveSomething(something: {
contentByteArray: [97, 110, 103, 101, 108, 111]
}) {
content
}
}
答案 0 :(得分:0)
你可以发送这样的数据,但是我知道 GraphQL 发送一个List 字节而不是一个数组。在 C# 中,这样的字段(我正在上传照片)将被描述为
Field<ListGraphType<ByteGraphType>>("photo");
并且需要转换回数组才能保存到数据库中 例如
IDictionary<string, object> dicPlayer = (IDictionary<string, object>)context.Arguments["input"];
...
if (dicPlayer.ContainsKey("photo")) {
if (dicPlayer["photo"] == null) {
playerInput.Photo = null;
} else {
List<byte> lstB = new List<byte>();
foreach (var objB in (List<object>)dicPlayer["photo"]) {
byte b = (byte)objB;
lstB.Add(b);
}
byte[] arrB = lstB.ToArray();
playerInput.Photo = arrB;
}
}