Для каждой строки, соответствующей последовательности вернуть revers
Задача такова: к каждой строке , соответствующей последовательности Фибоначчи, необходимо применить реверс (без стандартных функций реверса) строки и сохранить данные в новый файл.
У меня REST API приложение, через метод POST мы посылаем последовательность Фибоначчи ( на сколько я понимаю массив чисел) и возвращаем перевернутый массив, попутно записывая ответ в файл.
Я уже сделал методы POST/GET/PUT, но я не знаю как мне послать ответ с реверсом и записать его в файл.
Вот мой код модели:
public int Id { get; set; }
public int[] Row { get; set; }
Services:
public class FibonacciServices
{
static List<Fibonacci> Fibonaccis { get; }
static int nextId = 2;
static FibonacciServices()
{
Fibonaccis = new List<Fibonacci>
{
new Fibonacci {Id = 1, Row = new int[] { 1, 2, 3, 5,8 }}
};
}
public static List<Fibonacci> GetAll() => Fibonaccis;
public static Fibonacci? Get(int id) => Fibonaccis.FirstOrDefault(p => p.Id == id);
public static void Add(Fibonacci fibonacci)
{
fibonacci.Id = nextId++;
Fibonaccis.Add(fibonacci);
}
public static void Delete(int id)
{
var fibonacci = Get(id);
if (fibonacci is null)
return;
Fibonaccis.Remove(fibonacci);
}
public static void Update(Fibonacci fibonacci)
{
var index = Fibonaccis.FindIndex(p => p.Id == fibonacci.Id);
if (index == -1)
return;
Fibonaccis[index] = fibonacci;
}
}
Controller
[ApiController]
[Route("api/[controller]")]
public class FibonacciController : ControllerBase
{
public FibonacciController()
{
}
[HttpGet]
public ActionResult<List<Fibonacci>> GetAll() =>
FibonacciServices.GetAll();
[HttpGet("{id}")]
public ActionResult<Fibonacci> Get(int id)
{
var fibonacci = FibonacciServices.Get(id);
if (fibonacci == null)
return NotFound();
return fibonacci;
}
[HttpPost]
public IActionResult Create(Fibonacci fibonacci)
{
FibonacciServices.Add(fibonacci);
return CreatedAtAction(nameof(Create), new { id = fibonacci.Id }, fibonacci);
}
[HttpPut("{id}")]
public IActionResult Update(int id, Fibonacci fibonacci)
{
if (id != fibonacci.Id)
return BadRequest();
var existingFibo = FibonacciServices.Get(id);
if (existingFibo is null)
return NotFound();
FibonacciServices.Update(fibonacci);
return NoContent();
}
}