diff --git a/AspNetFrameworkMVC/AspNetCoreMVC/Controllers/UserController.cs b/AspNetFrameworkMVC/AspNetCoreMVC/Controllers/UserController.cs new file mode 100644 index 0000000..3df4cba --- /dev/null +++ b/AspNetFrameworkMVC/AspNetCoreMVC/Controllers/UserController.cs @@ -0,0 +1,90 @@ +using AspNetCoreMVC.Models; +using Microsoft.AspNetCore.Mvc; +using System.Diagnostics; + +namespace AspNetCoreMVC.Controllers +{ + [Route("api/user")] // 컨트롤러 전체 라우터 설정 + public class UserController : Controller + { + private static List _users; + + public UserController() : base() + { + if (_users != null) + return; + + _users = new List(); + _users.Add(new User + { + Id = 1, + Name = "James", + Phone = "123-4567-8910", + Address = "Somewhere over the rainbow1" + }); + _users.Add(new User + { + Id = 2, + Name = "Carl", + Phone = "223-4567-8910", + Address = "Somewhere over the rainbow2" + }); + _users.Add(new User + { + Id = 3, + Name = "Tyler", + Phone = "323-4567-8910", + Address = "Somewhere over the rainbow3" + }); + _users.Add(new User + { + Id = 4, + Name = "Jackson", + Phone = "423-4567-8910", + Address = "Somewhere over the rainbow4" + }); + _users.Add(new User + { + Id = 5, + Name = "Philip", + Phone = "523-4567-8910", + Address = "Somewhere over the rainbow5" + }); + } + + [HttpGet("{id}")] + public JsonResult GetUser(int id) + { + var user = _users.SingleOrDefault(u => u.Id == id); + return Json(user); + } + + [HttpGet("v2/{id}")] + public IActionResult GetUser2(int id) + { + var user = _users.SingleOrDefault(u => u.Id == id); + if (user == null) + return BadRequest("No data found"); + + return Ok(user); + } + + [HttpPost] + public JsonResult Save([FromBody] User user) + { + try + { + if (!ModelState.IsValid) + return Json(false); + + _users.Add(user); + return Json(true); + } + catch (Exception ex) + { + Debug.WriteLine(ex); + return Json(false); + } + } + } +} diff --git a/AspNetFrameworkMVC/AspNetCoreMVC/Models/User.cs b/AspNetFrameworkMVC/AspNetCoreMVC/Models/User.cs new file mode 100644 index 0000000..0d03dde --- /dev/null +++ b/AspNetFrameworkMVC/AspNetCoreMVC/Models/User.cs @@ -0,0 +1,17 @@ +using System.ComponentModel.DataAnnotations; + +namespace AspNetCoreMVC.Models +{ + public class User + { + [Required] + public int Id { get; set; } + + [StringLength(100, MinimumLength = 2)] + [Required] + public string Name { get; set; } + + public string Phone { get; set; } + public string Address { get; set; } + } +}