Nano Hash - криптовалюты, майнинг, программирование

Как вернуть пользовательский код состояния HTTP + сообщение в функции IEnumerable‹xxx.Models.xxx›

public IEnumerable<xxx.Models.Product> ReviewAll(string para1, string para2, string para3, int para4)
{
    return //HTTPStatusCode
}

В настоящее время я использую это

int HTTPResponse=400;
return Request.CreateResponse((HttpStatusCode)HTTPResponse, "InvalidID");

Но это возвращает ошибку, говорящую

Невозможно неявно преобразовать тип «System.Net.Http.HttpResponseMessage» в «System.Collections.Generic.IEnumerable». Существует явное преобразование (вам не хватает приведения?)

Как это исправить??


Ответы:


1

Рефакторинг действия для возврата HttpResponseMessage

public HttpResponseMessage ReviewAll(string para1, string para2, string para3, int para4) {
    if(some_condition) {
        //...code removed for brevity

        //if request is invalid then return appropriate status response
        int HTTPResponse = 400;
        var response = Request.CreateResponse((HttpStatusCode)HTTPResponse);
        response.ReasonPhrase = "InvalidID";
        return response;
    } else {
        //If the data is valid I need to return the data segment,
        IEnumerable<xxx.Models.Product> responseBody = //...code removed for brevity
        return Request.CreateResponse(HttpStatusCode.Ok, responseBody);//include data with an HttpStatus.Ok (200) response
    }
}
23.12.2016
  • Нет Nkosi. Я не могу выполнить рефакторинг действия для возврата HttpResponseMessage, потому что я использую модель продукта внутри функции. Неужели нет другого способа решить эту проблему? 27.12.2016
  • То, что вы используете в функции, не имеет значения. фреймворк получит модель из тела ответа и вернет ее вызывающей стороне, что я и сделал в операторе else. таким образом, у вас есть возможность вернуть правильный код состояния с ответом. 27.12.2016
  • Эта функция возвращает не только ответ HTTP, но и данные. Необходимо вернуть данные, основанные на типе xxx.Models.Product, если условие истинно, и вернуть HTTP-ответ, если условие ложно. :-) 27.12.2016
  • Я дал вам решение на основе предоставленной информации, но вы указали, что оно неверно. 28.12.2016
  • Я не могу сделать возвращаемый тип функции как HttpResponseMessage, потому что функция должна возвращать данные на основе xxx.Models.Product. Если данные действительны, мне нужно вернуть сегмент данных, иначе я должен вернуть сообщение HTTPStatus. Если я сделаю возвращаемый тип функции как HTTPResponseMessage, как я могу вернуть данные в случае успеха. Вот почему я спрашиваю, как вернуть сообщение HTTPResponse, когда тип данных функции - xxx.Models.Product. Спасибо:-) 28.12.2016
  • Вы слишком много думаете об этом. данные будут возвращены в теле ответа. посмотрите внимательно на ответ. На самом деле, я думаю, вам нужно перечитать об действиях и контроллерах, чтобы вы могли понять то, что я объяснил вам ранее. Я больше ничего не могу сделать для вас сейчас. 28.12.2016
  • Хорошая ссылка, потому что я никогда не знал, что она называется фразы-причины 01.08.2017
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..