اگر همه چیز به خوبی انجام بشه، API پاسخ درخواست را به HttpStatus = 200
برای کاربر ارسال میکنه اما اگر بخواهیم در سایر موارد مثل خطا، پیدا نکردن محتوا و … پاسخی به کاربر ارسال کنیم میتوان از روش زیر بهره برد:
private struct stcAPIMessage { public string Message { get; set; } public HttpStatusCode StatusCode { get; set; } } [HttpPost] public IHttpActionResult CreateIssue([FromBody] JObject inputData) { stcAPIMessage message = new stcAPIMessage(); try { var temp = JsonConvert.DeserializeObject<BLL.Jira.Jira_Requests.CreateIssue.Root>(inputData.ToString()); if (temp != null) { if (!string.IsNullOrEmpty(temp.fields.summary)) { BLL.Jira.JiraService jiraService = new BLL.Jira.JiraService(); var result = jiraService.CreateIssue(temp); if (!string.IsNullOrEmpty(result.id)) { return Ok(result); } else { message.Message = "سرویس جیرا پاسخ مناسبی به درخواست ارسالی نداد، لطفاً درخواست ارسالی را بررسی کنید."; message.StatusCode = HttpStatusCode.Conflict; } } else { message.Message = "رشته ارسالی فرمت صحیحی ندارد"; message.StatusCode = HttpStatusCode.BadRequest; } } else { message.Message = "رشته ارسالی فرمت صحیحی ندارد"; message.StatusCode = HttpStatusCode.BadRequest; } } catch { message.Message = "خطای غیرمعمول رخ داده است، به ادمین سرویس اطلاع داده شد."; message.StatusCode = HttpStatusCode.BadRequest; } return Content(message.StatusCode, message.Message); }