REST API 를 이용해 목록 반환하기

REST API 를 이용해 목록 반환하는 방법입니다.

ASP.NET Core를 사용하여 REST API 만들기

ASP.NET 코어를 사용하여 REST API를 만들려면 기본 제공 ControllerBase 클래스에서 파생되는 컨트롤러 클래스를 만듭니다. ControllerBase 는 Microsoft.AspNetCore.Mvc 네임스페이스 에 있습니다 .

Controller vs ControllerBase

REST API를 생성하는 경우 Controller 클래스 ControllerBase 에서 파생되도록 합니다 . Controller는 ControllerBase에서 파생되며 MVC 기능이 추가됩니다.

asp.net 코어 컨트롤러 대 컨트롤러 베이스

따라서 MVC 웹 애플리케이션을 구축하는 경우 Controller 클래스에서 파생되는 컨트롤러를 생성하십시오. 반면 Web API를 생성하는 경우 ControllerBase 클래스에서 파생되는 controller class를 생성합니다. 
즉, Controller는 MVC 웹 애플리케이션용이고 ControllerBase는 MVC Web API용입니다.

웹 애플리케이션과 웹 API 모두에 대해 컨트롤러를 사용하려는 경우 Controller 클래스에서 파생합니다.

ASP.NET Core API 컨트롤러 예제

  • EmployeesController 는 API 컨트롤러이므로 [ApiController] 속성 으로 decorate 합니다.
  • 이름에서 알 수 있듯이 [Route] 속성은 경로를 지정합니다. 대괄호 안의 [controller] 라는 단어는 EmployeesController를 가져오기 위해 URL에서 Controller의 이름을 사용합니다.
  • IEmployeeRepository 는 표준 생성자 주입을 사용하여 컨트롤러 클래스에 주입됩니다. 기본 SQL Server 데이터베이스에서 직원 데이터를 검색하는 것은 이 IEmployeeRepository 입니다 . 여기선 이 리포지토리 클래스를 구현했습니다.
  • [HttpGet] 속성은 이 메서드가 http GET 요청에 응답 함을 의미합니다.
  • 작업 <ActionResult> 의 반환 유형을 사용하면 직원 목록과 함께 상태 코드 200 (OK)를 반환하거나 데이터베이스에서 데이터를 검색하는 서버 오류가 있는 경우 상태 코드 500 을 반환할 수 있습니다.
using EmployeeManagement.Api.Models;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using System;
using System.Threading.Tasks;

namespace EmployeeManagement.Api.Controllers
{
    [Route("api/[controller]")]
    [ApiController]
    public class EmployeesController : ControllerBase
    {
        private readonly IEmployeeRepository employeeRepository;

        public EmployeesController(IEmployeeRepository employeeRepository)
        {
            this.employeeRepository = employeeRepository;
        }

        [HttpGet]
        public async Task<ActionResult> GetEmployees()
        {
            try
            {
                return Ok(await employeeRepository.GetEmployees());
            }
            catch (Exception)
            {
                return StatusCode(StatusCodes.Status500InternalServerError, "Error retrieving data from the database");
            }
        }
    }
}

HTTP 상태 코드

나머지 API http 상태 코드

호출자, 즉 API 클라이언트에게 요청 상태를 알려줍니다. 일반적인 상태 코드 중 일부는 200/정상, 404/찾을 수 없음, 204/내용 없음입니다. HTTP 상태 코드의 전체 목록과 의미를 보려면 https://en.wikipedia.org/wiki/List_of_HTTP_status_codes를 참고하세요 .

ASP.NET Core는 HTTP 상태 코드를 반환하기 위해 다음과 같은 상태 코드를 제공합니다.

asp.net 핵심 상태 코드 도우미 메서드

답글 남기기