我有一个C#客户端应用程序,调用ASP.NET Core REST服务。如果服务器上的REST服务失败,则配置为返回“问题详细信息”JSON响应,格式遵循rfc7807,例如:
在客户端应用程序中,我想将此JSON消息反序列化为ProblemDetails的实例,作为访问详细信息的便捷方式。例如:
然而,反序列化会抛出以下异常:
{
"type": "ServiceFault",
"title": "A service level error occurred executing the action FooController.Create
"status": 500,
"detail": "Code=ServiceFault; Reference=5a0912a2-df17-4f27-8e5a-0d4828022306; Message=An error occurred creating a record.",
"instance": "urn:foo-corp:error:5a0912a2-df17-4f27-8e5a-0d4828022306"
}
在客户端应用程序中,我想将此JSON消息反序列化为ProblemDetails的实例,作为访问详细信息的便捷方式。例如:
ProblemDetails details = await httpResp.Content.ReadAsAsync<ProblemDetails>();
然而,反序列化会抛出以下异常:
System.Net.Http.UnsupportedMediaTypeException: 没有可用的 MediaTypeFormatter 从媒体类型为 'application/problem+json' 的内容中读取类型为 'ProblemDetails' 的对象。