目前 我做的接口中所用到了 如下技术:
/// <summary>
/// 返回客户端错误信息
/// </summary>
/// <param name="request">http请求</param>
/// <param name="needEncrypt">是否加密响应信息</param>
/// <param name="errorMessage">错误信息</param>
/// <returns>
/// 异步方式返回的错误消息
/// </returns>
private Task<HttpResponseMessage> GenerateErrorResponse(HttpRequestMessage request,
bool needEncrypt,
string errorMessage = "请求参数错误")
{
// 记录错误的请求日志
LogErrorRequest(request);
// 生成错误响应消息
var response = new HttpResponseMessage();
var error = JsonConvert.SerializeObject(new ApiResult() { Message = errorMessage });
response.Content = new StringContent(error, Encoding.GetEncoding("UTF-8"), "application/json");
response.StatusCode = System.Net.HttpStatusCode.OK;
if(needEncrypt)
response.Content.Headers.Add("toencrypt", "");
return Task<HttpResponseMessage>.Factory.StartNew(() => response);
}