asp.net webapi: строка ошибки не может быть преобразована в ответное сообщение http - PullRequest
0 голосов
/ 22 мая 2019

Я реализую элемент управления asp.net webapi, который обновляет значение и возвращает строку клиенту.В настоящее время я получаю строку ошибки, которую нельзя преобразовать в ответное сообщение http

[System.Web.Http.HttpPut]
    public HttpResponseMessage ReviewLegalFundClass(int fundClassId, int reviewTypeId)
    {
        var svc = Resolve<IUserIdentityService>();
        var user = svc.GetCurrentUser();

        try
        {
            var fcService = GetService<LEGAL_FUND_CLASS>();
            var fundClass = fcService.Get(fundClassId);
            var response = "N/A";
            var users = GetViewService<V_PERMAL_USER_ALL>().GetAll();

            if (reviewTypeId == (int)LegalFundClassReviewType.Fees)
            {
                fundClass.FEES_LAST_REVIEWED_BY_ID = user.ID;
                fundClass.FEES_LAST_REVIEWED_DATE = DateTime.Now;

                var feeUsr = users.FirstOrDefault(x => x.ID == fundClass.FEES_LAST_REVIEWED_BY_ID);
                response = $"Last Reviewed: {feeUsr?.LOGIN_NAME} {fundClass.FEES_LAST_REVIEWED_DATE.Value.ToString(PermalConstants.DateFormat2)}";
            }
            else if (reviewTypeId == (int)LegalFundClassReviewType.Terms)
            {
                fundClass.TERMS_LAST_REVIEWED_BY_ID = user.ID;
                fundClass.TERMS_LAST_REVIEWED_DATE = DateTime.Now;

                var termsUsr = users.FirstOrDefault(x => x.ID == fundClass.TERMS_LAST_REVIEWED_BY_ID);
                response = $"Last Reviewed: {termsUsr?.LOGIN_NAME} {fundClass.TERMS_LAST_REVIEWED_DATE.Value.ToString(PermalConstants.DateFormat2)}";
            }
            else throw new Exception("Invalid fund class review type");

            fcService.Update(fundClass);

            return response;
        }
        catch (Exception ex)
        {
            return GetError(ex);
        }
    }

1 Ответ

0 голосов
/ 22 мая 2019

Поскольку вы возвращаете строку в своем методе: вы объявили переменную ответа как строку «N / A».поэтому вы захотите изменить тип возвращаемого значения 'HttpResponseMessage' на 'string'.

public string ReviewLegalFundClass(int fundClassId, int reviewTypeId)

также, когда вы поймаете свое исключение ... возможно, также попробуйте

return ex.Message;

или

throw new Exception(ex.Message);

Свойство Exception.Message представляет собой строку, так что вам там будет хорошо.или если ваш метод GetError () возвращает строку, игнорируйте то, что я сказал, ха-ха.Удачи.Дайте мне знать, как это работает для вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...