Задать вопрос
  • Как в asp.net core mvc сделать единый формат ответов для всех api запросов?

    petermzg
    @petermzg
    Самый лучший программист
    Примерно так:
    public class APIResult
    {
            public int errorCode { get; set; }
    
            [JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
            public string errorMessage { get; set; }
    
            [JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
            public object messageData { get; set; }
    
            public APIResult(int errorCode, string errorMessage, object data)
            {
                 this.errorCode = errorCode;
                 this.errorMessage = errorMessage;
                 messageData = data;
            }
    }
    
    public abstract class BaseAPIController : Controller
    {
    protected JsonResult ApiMessage(int errorCode, string errorMessage = null, object data = null)
    {
       return Json(new APIResult(errorCode, errorMessage, data));
    }
    }
    // И пример использования
    public YourController: BaseAPIController
    {
    public async Task<IActionResult> YourAction(int id)
    {
        return ApiMessage(0, data: new { id = id });
        // Или
       // return ApiMessage(-2, errorMessage: "Invalid request parameters");
    }
    }
    Ответ написан
    2 комментария
  • Что должна возвращать функция в catch блоке?

    tomnolane
    @tomnolane
    профессиональный разработчик
    1) не обязательно в catch делать то, что функция должна возвращать:
    public static object Points(int a, int b)
            {
                int result  = 0;
                try
                {
                    //делаю что-то и падаю
                    return result;
                }
                catch(Exception ex)
                {
                    Console.WriteLine(ex.StackTrace); //выведи мне в Console описание ошибки
                } 
                return result;
            }

    2) есть такая шутка, которая называется finally
    int result  = 0;
                try
                {
                    throw new Exception(); 
                    return result;
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.StackTrace);
                }
                finally
                {
                    result = -1;
                }


    которая выполниться в любом случае (в т.ч. и когда функция падает)

    Что должна возвращать функция в catch блоке?

    1) Информацию об ошибке
    catch (Exception ex)
                {
                    Console.WriteLine(ex.StackTrace);
                }

    2) либо присвоить значения выходного объекта (в вашем случае это string ..судя по примеру)
    catch 
                {
                    string result = "Ошибка";
                }

    3)можно и то и другое
    4) можно ничего не делать в catch (называется "заглушка")
    catch {}
    и после него return то, что нужно ретюрнуть
    Ответ написан
    Комментировать
  • C# Что лучше, информативность или простота?

    GavriKos
    @GavriKos
    Конкретно в вашем примере - enum.
    Аргументы:
    - рано или поздно вы забудете что true - это Light. Особенно с таким названием переменной.
    - как только вам понадобиться третья тема - огребете рефакторинг.
    Ответ написан
    1 комментарий
  • Что изучать после 6 месяцев работы на ASP.NET?

    1) Изучить MVC 5, Web API 2, EF, GoF, SOLID https://metanit.com/sharp/
    2) Посмотреть 3 курса programmingwithmosh.com/become-a-full-stack-dot-ne...
    3) https://metanit.com/web/
    4) Youtube Технострим, курс "Web-технологии" лектор - Дмитрий Смаль.

    6 месяцев это мало.
    Ответ написан
    Комментировать
  • Почему форма не скрывается?

    tomnolane
    @tomnolane
    профессиональный разработчик
    в-первом случае - вы создаёте новый объект типа Form1 и его же скрываете. От сюда и эффекта ноль. Т.е. вы создали другой объект и его скрываете. Не главную форму...
    во-втором случае - происходит рекурсия - т.е. объект (типа Form1) создаёт сам себя по образу и подобию "оригинала", потом второй объект создаёт сам себя по образу "оригинала" и т.д., пока буффер памяти не переполнится.

    ОТВЕТ:
    Чтобы скрыть форму (текущую, в которой вы работаете) - достаточно
    this.Hide();
    Ответ написан
    Комментировать
  • Как вкорячить библиотеку JSON в C#?

    Dyaminigo
    @Dyaminigo
    Здравствуйте!
    Для начала войдите в менеджер пакетов Nuget, чтобы установить Newtonsoft.Json в Ваш проект - "Проект" > "Управление пакетами Nuget...". Далее, в строке поиска пакетов введите Newtonsoft.Json, самый первый пакет установите и в нужном классе проекта, где Вам нужно использовать возможности данной библиотеки, подключите пространство имён:
    using Newtonsoft.Json;
    Ежели у Вас нет установленного Nuget, то посмотрите хороший гайд по установке и настройке тут: andrey.moveax.ru/post/tools-nuget-part1-basic-usage
    *Инструкции приведены на примере Visual Studio 2017 Community
    Ответ написан
    Комментировать
  • Как принимать модель из Get запроса в WebAPI 2?

    petermzg
    @petermzg
    Самый лучший программист
    А как вы хотите чтобы вот это работало?
    public IHttpActionResult Get([FromUri] Payment payment)

    Если у вас имена не совпадают, как комьютер должен догадываться, что "txn_date" это txnDate и т.п.

    Тут есть вариант для вас.
    Ответ написан
    2 комментария
  • Правильно ли я размышляю по поводу ref и out?

    tomnolane
    @tomnolane
    профессиональный разработчик
    Правильное ли мое утверждение в этом коде, что a,b - ref по дефолту в CLR ?

    нет.
    Ключевое слово ref используется для передачи аргумента по ссылке, а не по значению.
    Эффект передачи по ссылке в том, что все изменения вызываемого метода отражаются на значении переменной аргумента, используемой в вызове метода. Например если вызывающий объект передает выражение локальной переменной или выражение доступа к элементу массива и вызванный метод заменяет объект, на который ссылается параметр ref, то локальная переменная или элемент массива взывающего объекта теперь ссылаться на новый объект.
    (источник)
    вы передаёте (в примере) в static void Add значение, а не ссылку на это значение.

    если не используете ref - то переменная будет менять своё значение (если к ней что-то добавите/отнимите и т.д.).
    условно:
    int a = 1;
    a = a*5+9; // a=14;


    Если будете использовать ref - то, "значение" будет меняться по ссылке

    static void Method(ref int i)
            { 
                i = i + 30;
            }
    
            static void Main()
            {
                int val = 1;
                Method(ref val);
                Console.WriteLine(val); 
                // Output: 31
            }
    Ответ написан
    Комментировать
  • Что лучше использовать в NUnit?

    w1ld
    @w1ld
    Программирую
    У fluentassertions (http://fluentassertions.com) удобный fluent синтаксис в стиле behavior-driven development. Есть методы проверки для массивов, для строк. Наглядно и удобно. А nunit мне кажется не так удобен как xunit: интересная модель создания объекта под тест, не надо всякие аттрибуты проставлять и др.
    Ответ написан
    Комментировать
  • Существует ли API Кинопоиска?

    wielski
    @wielski
    ✔ Совет: Вам помогли? Отметьте ответы решением.
    Извиняюсь за некропостинг.
    Вот тут решение: https://toster.ru/answer?answer_id=732526
    Ответ написан
    1 комментарий
  • Существует ли API Кинопоиска?

    @sorx00
    Не побоюсь прослыть некрофилом и апну тему.
    С 8 октября 2015 года у Яндекс.Кинопоиска есть API по заявкам: https://yandex.ru/support/kinopoisk/api.xml
    Ответ написан
    6 комментариев
  • C# Ошибка с пространством имен?

    Вы должны представить пример полностью для разбора проблемы. А то мне пришлось добавлять недостающие. А так проверьте пространство имён. Возможно, вы просто не дописали K в подключении using.
    Ответ написан
    Комментировать
  • Насколько оправдана связка ASP.NET MVC и AngularJS?

    trerums
    @trerums
    Не важно, какой софт будет на бекэнде, главное чтобы сервер отдавал данные в нужном формате. Советую посмотреть на ASP.NET Web Api 2, который как раз заточен для REST
    Ответ написан
    Комментировать
  • Парсинг json в C#(запрос в VK API).Где ошибка?

    devspec
    @devspec
    Помогло? Отметь решением
    Десериализовалось бы, если бы было просто вот так:
    {"count":6, "items":[5503339, 14267105]}
    А у вас еще есть {"response":... в начале
    Измените класс.
    Ответ написан
    1 комментарий
  • Тематика курсовой работы?

    swanrnd
    @swanrnd
    Издатель HTML5 игр
    Сделайте приложение по анализу интересов например.
    Допустим в университете учится 10 000 человек.
    В каких группах они состоят, какая демография, школы и прочее. А потом куча красивых графиков.
    С ВК API работать просто, если:
    1) сможете сделать GET или POST запрос
    2) сможете распарсить XML и JSON.
    Ответ написан
    Комментировать
  • Как передать внешний параметр в Windows Form Application?

    @leremin
    atypical programmer
    Смотрите в сторону Environment.GetCommandLineArgs (). Но если нужна именно юниксовая форма "-p, --property", то гуглите "C# getopt" - есть много реализаций.
    Ответ написан
    Комментировать
  • C# - Как задать несколько значений одному "if"?

    ThePyzhov
    @ThePyzhov
    iOS Ninja
    Почитайте про логические операции
    Здесь вам нужно использовать "ИЛИ" - ||
    if a == "ага" || a == "угу" {}
    Ответ написан
    1 комментарий
  • Если я пишу код на основе других, это плохо?

    tomnolane
    @tomnolane
    профессиональный разработчик
    90% так и надо делать!
    1 правило хакера (точнее компьютерщика кодера, программиста) - не создавать велосипед, а использовать готовое.
    Если для повышения скила - то лучше конечно самим придумать/разработать/написать.
    Если для всего остального - чем быстрее напишите (особенно с учётом/доработками вашего проекта) - тем лучше для всех. Останется время пиво попить и футбол посмотреть) или с семьёй побыть рядом.

    п.с. для повышения скила можно и тостер использовать в частности - пытаясь отвечать/решать вопросы +
    попробовать в чужом коде сделать рефакторинг +
    когда столкнётесь с тем, что даже примерно аналога нету - конечно придётся самим решать, НО, вы же не просто ctrl+c ctrl+v делаете, а подгоняете код под ваши нужды и хоть немного но разбираетесь в том, что он делаете (т.е. вы увеличиваете скилл). И лучше за n-промежуток времени столкнуться 1-2 раза, когда сами ручками и головой будете решать ТАКОЕ, чем на каждый чих - тратить время

    Если я пишу код на основе других, это плохо?

    в 90% случаев - НЕТ

    п.с.с.
    умение найти чужой код (понять его), который будет работать + его доработать(встроить) - тоже, очень и очень важное умение!

    03aee4062f1347ed96f49f044ebe25b3.PNG
    Ответ написан
    2 комментария
  • UI в Unity и NullReferenceException?

    @Beltoev
    Живу в своё удовольствие
    Может рано в GameDev, когда даже NullReferenceException в такой тупик ставит? Сначала хотя бы с С# может разобраться?

    Ну, а так, у вас cube не инициализирована и нет проверки на это
    Ответ написан
    Комментировать