我有一个Web API,当前正从POST返回BSON响应。
通常我有WebAPI返回JSON,我只是在客户端执行此操作,将其反序列化为我的C#对象或对象。
var result = await GetApiClient().PostAsJsonAsync("api/Test/GetImages", args);
if (result.IsSuccessStatusCode)
return await result.Content.ReadAsAsync<T>();
我现在正在这样做以获得BSON响应:
MediaTypeFormatter bsonFormatter = new BsonMediaTypeFormatter();
var result = await GetApiClient().PostAsync("api/Test/GetImages", args, bsonFormatter);
if (result.IsSuccessStatusCode)
return await result.Content.ReadAsAsync<T>();
JSON工作正常,但在阅读内容时出现BSON错误:
No MediaTypeFormatter is available to read an object of type IEnumerable1 from content with media type 'application/bson'
我100%肯定我回到了BSON,我只是不确定如何将其反序列化为对象?
答案 0 :(得分:2)
我刚想出来了,我需要在ReadAsAsync调用中包含格式化程序。比我预想的要简单得多
ReadAsAsync<T>(new List<MediaTypeFormatter>() {bsonFormatter})