c# - 来自 webapi 的响应,字节数组为 null
问题描述
我有如下回应
public class Getfile_response
{
public string file_name { get; set; }
public byte[] file { get; set; }
}
以及对 web api 的调用如下
var request = new RestRequest("API/Eprocess/GetMEREResponse", Method.POST);
var response = ExecuteRequest<Getfile_response>(request, requestData);
并且此调用到达 webapi 并分配如下值
resp.file_name = "test.xml";
byte[] fileBytes = System.IO.File.ReadAllBytes(@"C:\XMLFiles\response_files\test.xml");
resp.file = fileBytes;
return resp;
它正在分配值,但是当它到达响应时,它显示为空。如果我注释字节数组,那么响应将显示为 file_name。什么不见了
解决方案
响应被很好地检索RestClient
并IRestResponse<T>.Data
返回null
,只是因为RestSharp
序列化程序无法处理响应格式。你可以Json.NET
自己使用和反序列化响应内容来避免这个问题
var response = ExecuteRequest(request, requestData);
var result = JsonConvert.DeserializeObject<Getfile_response>(response.Content)
推荐阅读
- c++ - 我的 N 皇后问题一直有效,直到 n = 5,我不知道为什么 C++
- grails - 任何浏览器中的 Grails 错误“重定向太多”
- typescript - @typescript-eslint/naming-convention:如何在只有箭头函数表达式的 const 中允许 PascalCase?
- javascript - 阿多尼斯:尝试使用以逗号分隔的种子命令时未填充表--files
- javascript - 从 `getAccessTokenSilently` 响应 (auth0) 中获取 Id 令牌
- kubernetes - 在 WSL2 中为本地开发环境生成证书
- reactjs - 为什么更新状态时组件不重新渲染?
- android - 登录失败 Paypal Android Studio
- javascript - XMLHttpRequest 导致两个网络事件
- javascript - 链接传递信息的jquery ajax调用的最佳方法