gpt4 book ai didi

c# - ASP.NET MVC 处理请求错误

转载 作者:行者123 更新时间:2023-11-30 23:27:10 26 4
gpt4 key购买 nike

在我的 .Net MVC 应用程序中,我需要处理服务器端验证。如果请求有问题,我会得到这个:

{
"validationMessage": message
}

StatusCode = 200。否则,我当然会得到适合通话的回复。我的问题是我在检查验证消息然后反序列化响应时遇到问题(尽管 fiddler 向我显示响应返回,但我总是在那里得到 null)。

 public static async Task<Response<T>> Response<T>(HttpResponseMessage response)
{
var res = new Response<T>();

if (response.IsSuccessStatusCode)
{
//check for validation messages
var serverErrorInfo = await response.Content.ReadAsAsync<ServerError>();
if (serverErrorInfo.ValidationMessage != null)
{
res.ErrorInfo = new ErrorInfo(serverErrorInfo.ValidationMessage);
}
else
{
var result = await response.Content.ReadAsAsync<T>();
res.IsSuccess = true;
res.Result = result;
}
return res;
}

我做错了什么?响应是否在第一次尝试将其作为 ServerError 读取后被处理掉?因为我使用泛型,所以我不能先检查是否有响应,然后再阅读 validationMessage。
服务器错误代码:

 [JsonObject]
public class ServerError
{
public string validationMessage{ get; set; }
}

最佳答案

可能是反序列化问题。您是否尝试过在 json 响应中使用大写 V 的 ValidationMessage?另外,serverErrorInfo 是完全为空,还是只是属性 ValidationMessage 为空?在反序列化为 ServerError 之前,您能检查一下 response.Content 的值是多少吗?

关于c# - ASP.NET MVC 处理请求错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36624797/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com