我使用了下面的代码来显示错误消息
var errorMessagError = new HttpError("Type Code does not exist") { { "Code", "CT-1" } };
return ResponseMessage(Request.CreateErrorResponse(HttpStatusCode.NotFound, errorMessagError));postman中的输出如下所示。
{
"error": {
"code": "CT-1",
"message": "Type Code does not exist"
}
}但我需要一次显示多个错误消息,如下所示。
{
"error": {
"code": "CT-1",
"message": "User is not Authenticated."
},
"error": {
"code": "CT-2",
"message": "User is not Authorized."
},
"error": {
"code": "CT-3",
"message": "User is not Valid."
}
}我们有没有办法做到这一点呢?
发布于 2016-06-26 21:50:16
我使用ODataError来显示多个子错误消息,如下所示
`
public HttpResponseMessage ShowErrors(List<TargetErrorCollection> childErrorColletion )
{
ODataError errors = new ODataError();
errors.ErrorCode = "CT-01";
errors.Message = "Parent details";
errors.Details = new Collection<ODataErrorDetail>();
ODataErrorDetail childErr= new ODataErrorDetail();
foreach (var err in childErrorColletion)
{
childErr.ErrorCode = err.MessageCode;
childErr.Target = err.Target;
childErr.Message = err.Message;
errors.Details.Add(childErr);
}
return Request.CreateResponse(HttpStatusCode.BadRequest, errors);
}`输出如下所示
{ "error": { "code": "CT-01", "message": "Data cannot be inserted", "details": [ { "code": "CT-02", "target": "Code", "message": "Invalid value entered" }, { "code": "CT-03", "target": "DataType", "message": "Invalid value entered" } ] } }
https://stackoverflow.com/questions/37842309
复制相似问题