36 lines
828 B
C#
36 lines
828 B
C#
using Microsoft.AspNetCore.Mvc;
|
|
|
|
namespace QuotesTest.Controllers;
|
|
|
|
[ApiController]
|
|
[Route("[controller]")]
|
|
public class QuotesController : Controller
|
|
{
|
|
private readonly QuotesContainer _quotes;
|
|
public QuotesController(QuotesContainer quotes)
|
|
{
|
|
_quotes = quotes;
|
|
}
|
|
|
|
[HttpGet("RandomQuote")]
|
|
public ActionResult<Quote> Index()
|
|
{
|
|
return _quotes.GetRandomQuote();
|
|
}
|
|
|
|
[HttpGet("Quotes")]
|
|
public ActionResult<List<Quote>> GetQuotes(int? startAt, int? getN)
|
|
{
|
|
List<Quote> quotes = _quotes.GetQuotes();
|
|
startAt ??= 0;
|
|
quotes = quotes.GetRange((int)startAt, getN ?? (quotes.Count - (int)startAt));
|
|
return quotes;
|
|
}
|
|
|
|
[HttpGet("Authors")]
|
|
public ActionResult<List<string>> Authors()
|
|
{
|
|
return _quotes.GetAuthors();
|
|
}
|
|
}
|