【发布时间】:2019-07-03 14:46:12
【问题描述】:
我有以下型号
public class SignDocumentsModel
{
[JsonProperty(ItemConverterType = typeof(BinaryConverter))]
public byte[][] Documents { get; set; }
public bool Detached { get; set; }
}
和控制器代码
[HttpPost]
[Route("{requestId}/sign")]
public Task<IHttpActionResult> SignDocuments([FromUri] Guid requestId, SignDocumentsModel parameters)
{
return SomeKindOfProcessing(requestGuid, parameters);
}
现在,当我向邮递员执行请求时
POST
Content-Type: application/json
{
"Detached": "true",
"Documents": [
"bG9weXN5c3RlbQ=="
]
}
我想 Documents 属性应该填充从请求内容中发布的 Base64 字符串解码的字节数组,尽管实际上该属性是空的(如果它在模型中的类型是 List<byte[]> 或 byte[][] 和 null如果是IEnumerable<byte[]>)。
为什么在模型绑定期间没有在请求正文反序列化时调用 JsonConverter?怎么解决?
【问题讨论】:
标签: c# asp.net-web-api json.net asp.net-web-api2