33.5.2 따라하기
1. Visual Studio를 열고 C:\ASP.NET\DotNetNote 프로젝트를 연다.
2. 또 다른 Web API를 테스트해보자. 데모용 프로젝트인 DotNetNote 프로젝트의 Controllers 폴더에서 마우스 오른쪽 버튼 클릭 후 추가 > 새 항목 메뉴를 선택한다. 새 항목 추가 화면에서 Web API 컨트롤러 클래스를 선택하고, 이름은 WebApiDemoController.cs로 설정 후 추가 버튼을 클릭해 Web API 컨트롤러를 추가한다. 기본 생성 코드를 모두 지운 후 다음과 같이 코드를 작성한다. [Route] 특성을 사용해서 /api/컨트롤러 형태로 호출되게 하는 방식으로 바로 특정 컨트롤러 안에서 Web API를 생성할 수 있다. 물론 /api/ 경로 없이 일반 라우팅을 통해서 Web API를 서비스해도 전혀 상관없다.
▼ /Controllers/WebApiDemoController.cs
using Microsoft.AspNetCore.Mvc;
using System.ComponentModel.DataAnnotations;
using System.Net;
namespace DotNetNote.Controllers
{
[Route(“api/[controller]”)]
public class WebApiDemoController : Controller
{
[HttpGet]
public JsonResult Get()
{
return Json(new { Name = “박용준” });
}
[HttpPost]
public JsonResult Post([FromBody]WebApiDemoClass name)
{
if (ModelState.IsValid)
{
Response.StatusCode = (int)HttpStatusCode.Created;
return Json(true);
}
Response.StatusCode = (int)HttpStatusCode.BadRequest;
return Json(“실패”);
}
}
public class WebApiDemoClass
{
public int Id { get; set; }
[Required]
[StringLength(50, MinimumLength = 3, ErrorMessage = “3자 이상”)]
public string Name { get; set; }
}
}