Вот код, который я использую для получения типа ByteArrayContent:
public class ImageDTO : APIResult
{
public byte[] ImageData
{
get;
set;
}
public string ImageFormat
{
get;
set;
}
public ImageDTO()
{
ImageData = new byte[]{};
}
}
public class ImageType : ObjectGraphType<ImageDTO>, IGraphQLType
{
public ImageType()
{
Field(img => img.ImageData);
Field(img => img.ImageFormat);
}
}
public class ImageResolver : Resolver, IImageResolver
{
private readonly ICommonService _commonService;
public ImageResolver(ICommonService commonService)
{
_commonService = commonService;
}
public void Resolve(GraphQLQuery graphQLQuery)
{
graphQLQuery.Field<ResponseGraphType<ImageType>>("imageresponse", arguments: new QueryArguments(new QueryArgument<NonNullGraphType<StringGraphType>>{Name = "imageId", Description = "id of the project"}), resolve: context =>
{
var imageId = context.GetArgument<string>("imageId");
var imageResult = _commonService.GetImage(imageId);
if (imageResult == null)
{
return NotFoundError(imageId);
}
return Response(imageResult);
}
);
}
}
При выполнении приведенного выше кода я получаю указанную ниже ошибку. Тип: байт не может быть эффективно приведен к типу GraphQL\r\nИмя параметра: тип\r\n в типе GraphQL.
По ссылке: https://github.com/graphql-dotnet/graphql-dotnet/issues/458 упоминается, что поддерживается ByteGraphType. Я использую пакет nuget GraphQL.net с версией: 2.3.0. Поэтому я считаю, что он должен поддерживать ByteGraphType.
Не могли бы вы помочь мне здесь, чтобы узнать, как решить эту проблему.