You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
149 lines
3.7 KiB
149 lines
3.7 KiB
using AspNetCoreMVC.Models;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
using System.Diagnostics;
|
|
|
|
namespace AspNetCoreMVC.Controllers
|
|
{
|
|
//[Route("Home")]
|
|
[Route("[controller]")] // 컨트롤러 이름 자동으로 따라감
|
|
public class HomeController : Controller
|
|
{
|
|
//private IEnumerable<IBaseLogger> _baseLoggers;
|
|
private IConfiguration _configuration;
|
|
|
|
//public HomeController(IEnumerable<IBaseLogger> loggers)
|
|
//{
|
|
// _baseLoggers = loggers;
|
|
//}
|
|
|
|
public HomeController(IConfiguration configuration)
|
|
{
|
|
_configuration = configuration;
|
|
}
|
|
|
|
//private readonly ILogger<HomeController> _logger;
|
|
|
|
//public HomeController(ILogger<HomeController> logger)
|
|
//{
|
|
// _logger = logger;
|
|
//}
|
|
|
|
[Route("Index")]
|
|
[Route("/")]
|
|
public IActionResult Index()
|
|
{
|
|
//string url = Url.Action("Privacy", "Home");
|
|
//string url = Url.RouteUrl("test", new { test = 123 });
|
|
|
|
//return Redirect(url);
|
|
|
|
//return RedirectToAction("Privacy");
|
|
|
|
//return View();
|
|
|
|
//FileLogger logger = new FileLogger(new FileLogSetting("log.txt"));
|
|
//logger.Log("Log Test");
|
|
|
|
//foreach (var logger in _baseLoggers)
|
|
//{
|
|
// logger.Log("DI Log Test");
|
|
//}
|
|
|
|
Console.WriteLine(_configuration["Test:Id"]);
|
|
Console.WriteLine(_configuration["Test:Password"]);
|
|
|
|
return Ok();
|
|
}
|
|
|
|
[Route("DITest")]
|
|
public IActionResult ActionDITest([FromServices] IBaseLogger logger)
|
|
{
|
|
logger.Log("Log Test");
|
|
|
|
return Ok();
|
|
}
|
|
|
|
public IActionResult Test()
|
|
{
|
|
TestViewModel viewModel = new TestViewModel()
|
|
{
|
|
Names = new List<string>()
|
|
{
|
|
"One", "Two", "Three"
|
|
}
|
|
};
|
|
|
|
return View(viewModel);
|
|
}
|
|
|
|
[HttpPost("Post")]
|
|
public IActionResult PostOnly()
|
|
{
|
|
return Ok(1);
|
|
}
|
|
|
|
[Route("Test")] // 컨트롤러 하위 상대경로
|
|
[Route("/TestSecret")] // 절대경로
|
|
public IEnumerable<string> ApiTest()
|
|
{
|
|
List<string> names = new List<string>()
|
|
{
|
|
"Four", "Five", "Six", "Seven"
|
|
};
|
|
|
|
return names;
|
|
}
|
|
|
|
public IActionResult Sample()
|
|
{
|
|
SampleViewModel viewModel = new SampleViewModel()
|
|
{
|
|
Id = 1005,
|
|
Count = 2
|
|
};
|
|
|
|
return View(viewModel);
|
|
}
|
|
|
|
public IActionResult BuyItem(int id, int count)
|
|
{
|
|
return View();
|
|
}
|
|
|
|
public IActionResult Test1(int id, [FromHeader] string value)
|
|
{
|
|
return null;
|
|
}
|
|
|
|
public IActionResult Test2(TestModel testModel)
|
|
{
|
|
if (!ModelState.IsValid)
|
|
return RedirectToAction("Error");
|
|
|
|
return null;
|
|
}
|
|
|
|
//1) names[0]=Faker&names[1]=Deft
|
|
//2) [0]=Faker&[1]=Deft
|
|
//3) names=Faker&names=Deft
|
|
public IActionResult Test3(List<string> names)
|
|
{
|
|
return null;
|
|
}
|
|
|
|
public IActionResult Privacy()
|
|
{
|
|
//int a = 1;
|
|
//int b = 3 / (a - 1);
|
|
|
|
ViewData["Message"] = "Data from privacy";
|
|
return View();
|
|
}
|
|
|
|
[ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)]
|
|
public IActionResult Error()
|
|
{
|
|
return View(new ErrorViewModel { RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier });
|
|
}
|
|
}
|
|
} |