Untitled
unknown
plain_text
2 years ago
2.2 kB
17
Indexable
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Logging;
using System;
using System.Collections.Generic;
using System.Linq;
namespace mynewapi.Controllers
{
[ApiController]
[Route("[controller]")]
public class WeatherForecastController : ControllerBase
{
private static readonly string[] Summaries = new[]
{
"Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching"
};
private readonly ILogger<WeatherForecastController> _logger;
private List<WeatherForecast> forecasts = new List<WeatherForecast>();
public WeatherForecastController(ILogger<WeatherForecastController> logger)
{
_logger = logger;
}
[HttpGet(Name = "GetWeatherForecast")]
public IEnumerable<WeatherForecast> Get()
{
return GenerateWeatherForecasts(5);
}
// Endpoint for a GET request to retrieve a single forecast by ID
[HttpGet("{id}", Name = "GetWeatherForecastById")]
public IActionResult GetById(int id)
{
if (id >= 0 && id < forecasts.Count)
{
return Ok(forecasts[id]);
}
else
{
return NotFound();
}
}
// Endpoint for a POST request to add a new weather forecast
[HttpPost]
public IActionResult Post([FromBody] WeatherForecast forecast)
{
if (forecast == null)
{
return BadRequest();
}
// Add the new forecast to the list
forecasts.Add(forecast);
// Return all the weather forecasts, including the newly added one
return Ok(forecasts);
}
private IEnumerable<WeatherForecast> GenerateWeatherForecasts(int count)
{
return Enumerable.Range(1, count).Select(index => new WeatherForecast
{
Date = DateTime.Now.AddDays(index),
TemperatureC = new Random().Next(-20, 55),
Summary = Summaries[new Random().Next(Summaries.Length)]
}).ToArray();
}
}
}Editor is loading...