더북(TheBook)

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; }
  }
}

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.