Asp.net core 返回类型为T时如何返回额外消息?
我有一个功能:Asp.net core 返回类型为T时如何返回额外消息?,asp.net-core,.net-core,Asp.net Core,.net Core,我有一个功能: public async Task<T> PostAsync<T>(string url,string parameters) { var response=await httpClient.PostAsync(url,data); if(response is null) { return default; } } 公共异步任务PostAsync(字符串url、字符串参数) { var response=
public async Task<T> PostAsync<T>(string url,string parameters)
{
var response=await httpClient.PostAsync(url,data);
if(response is null)
{
return default;
}
}
公共异步任务PostAsync(字符串url、字符串参数)
{
var response=wait httpClient.PostAsync(url,数据);
if(响应为空)
{
返回默认值;
}
}
如果响应为空,我只能返回默认值。现在我想向T添加额外的消息“response is null”
如何执行此操作?如果要返回对象和消息,最好创建一个ResponseObject DTO,将它们都作为参数。这样,如果您想要返回错误代码或其他数据,您可以添加额外的信息 比如:
public class ResponseDTO<T>
{
public T Object { get; set; }
public string Message { get; set; }
}
public async Task<ResponseDTO<T>> PostAsync<T>(string url,string parameters)
{
var response=await httpClient.PostAsync(url,data);
if(response is null)
{
return new ResponseDTO<T> {
Object = default(T),
Message = "Response is null"
};
}
return new ResponseDTO<T> {
Object = response
};
}
公共类响应到
{
公共T对象{get;set;}
公共字符串消息{get;set;}
}
公共异步任务PostAsync(字符串url、字符串参数)
{
var response=wait httpClient.PostAsync(url,数据);
if(响应为空)
{
将新响应返回到{
对象=默认值(T),
Message=“响应为空”
};
}
将新响应返回到{
对象=响应
};
}
我知道你说了什么。但这不方便,对吗?如果我想获取数据,我必须编写response.Object.IdPerhaps,但你只需要将对象分配给新变量,并以这种方式访问。