Проблема с формированием JSON в webAPI ASP.Net

126
20 февраля 2021, 11:00

Стоит задача создания уникальных переменных, которые будут содеражать в себе настройки сервера. Задумывается так, что эти переменные можно будет получать в формате json через Web API.

Для этих серверных переменных создаю класс:

public class Settings
{
   public static readonly int MaxCount = 10000;
   public int CountryServer = 123; //Для теста
   public static readonly int BaseValue = 146;
}

Далее создаю WebAPI:

[Route("api/[controller]")]
[ApiController]
public class ServerController : ControllerBase
{
   // GET: api/Server/action
   [HttpGet("[action]")]
   public IActionResult ServerSettings()
   {
      Settings settings = new Settings();
      return Ok (settings);
   }
}

Однако, при обращении к api в json получаю только переменную CountryServer

С помощью отладчика понял, что остальне переменные вошли в ктегорию static members (вполне логично) в settings

Исходя из всего вышеуказанного возникает 2 вопроса:

  1. Как можно решить эту проблема (что в json попадали все 3 параметра), оставляя их статическими - только для чтения?

  2. Как ещё (желательно, более корректно) реализовать данного рода задачу?

По решению прблемы 1 вопроса появилось следующее ужасно-костыльное решение:

public class Settings
{
    private static readonly int MaxCount = 10000;
    public int CountryServer = 123; //Для теста
    private static readonly int BaseValue = 146;
    public int maxCount = MaxCount;
    public int baseValue = BaseValue;
}

Конечно, так работает, но при этом плодить кучи одинаковых переменных, да ещё и так - не вариант.

READ ALSO
WPF MVVM - Смена UserControl в одном окне

WPF MVVM - Смена UserControl в одном окне

Есть пару UserControl: AuthControl и CalculateControlДля этих контролов есть ViewModel: AuthViewModel

126
C# Консоль, Запретить ввод

C# Консоль, Запретить ввод

Есть консольное приложение, и обработчик нажатия кнопокНо при нажатии на какую либо клавишу, выполняется и действие, и вводится символ на экран

103
element complexType name attribute

element complexType name attribute

Как добавить или изменить имя элемента ComplexType? Мне нужно чтобы было так:

125