RestSharp를 사용하여 ASP.NET Core Web API를 사용하는 방법

REST는 Representational State Transfer의 약어로, 지난 몇 년 동안 매우 인기를 얻은 아키텍처 스타일입니다. RESTful API는 REST의 원칙과 지침에 따라 빌드 된 API입니다. RESTful API는 일반적으로 일반 텍스트, JSON 또는 XML을 응답으로 반환합니다.

RestSharp는 RESTful 서비스를 쉽게 사용할 수있는 오픈 소스 HTTP 클라이언트 라이브러리입니다. RestSharp는 HTTP 요청 작업의 내부 복잡성을 추상화하면서 RESTful 서비스로 작업 할 수있는 개발자 친화적 인 인터페이스를 제공합니다. RestSharp는 동기 및 비동기 요청을 모두 지원합니다.

이 문서에서는 ASP.NET Core를 사용하여 빌드 된 서비스를 사용하기 위해 RestSharp로 작업 할 수있는 방법에 대해 설명합니다.

이 문서의 코드 예제를 사용하려면 시스템에 Visual Studio 2019가 설치되어 있어야합니다. 아직 복사본이없는 경우 여기에서 Visual Studio 2019를 다운로드 할 수 있습니다. 

ASP.NET Core API 프로젝트 만들기

먼저 Visual Studio에서 ASP.NET Core 프로젝트를 만들어 보겠습니다. Visual Studio 2019가 시스템에 설치되어 있다고 가정하고 아래에 설명 된 단계에 따라 Visual Studio에서 새 ASP.Net Core 프로젝트를 만듭니다.

  1. Visual Studio IDE를 시작합니다.
  2. "새 프로젝트 만들기"를 클릭합니다.
  3. "새 프로젝트 만들기"창의 표시된 템플릿 목록에서 "ASP.NET Core 웹 애플리케이션"을 선택합니다.
  4. 다음을 클릭하십시오.
  5. “Configure your new project”창에서 새 프로젝트의 이름과 위치를 지정합니다.
  6. 생성을 클릭합니다.
  7. "Create New ASP.Net Core Web Application"창에서 런타임으로 .NET Core를 선택하고 상단의 드롭 다운 목록에서 ASP.NET Core 2.2 이상을 선택합니다. 여기서는 ASP.NET Core 3.0을 사용하겠습니다.
  8. 프로젝트 템플릿으로 "API"를 선택하여 새 ASP.NET Core API 애플리케이션을 만듭니다. 
  9. 여기서는 이러한 기능을 사용하지 않으므로 "Docker 지원 활성화"및 "HTTPS 용 구성"확인란이 선택 취소되어 있는지 확인합니다.
  10. 인증을 사용하지 않을 것이므로 인증이 "인증 없음"으로 설정되어 있는지 확인하십시오.
  11. 생성을 클릭합니다. 

다음 단계에 따라 Visual Studio에서 새 ASP.NET Core API 프로젝트를 만듭니다. 다음으로 솔루션 탐색기 창에서 컨트롤러 솔루션 폴더를 선택하고 "추가-> 컨트롤러…"를 클릭 한 다음 "읽기 / 쓰기 작업이있는 API 컨트롤러"를 선택합니다. 이 새 컨트롤러의 이름을 DefaultController로 지정합니다.

이 기사의 다음 섹션에서이 프로젝트를 사용할 것입니다.

ASP.NET Core API에서 DefaultController 구현

DefaultController.cs 파일을 열고 그 안의 코드를 아래 주어진 코드로 바꿉니다.

Microsoft.AspNetCore.Mvc 사용;

System.Collections.Generic 사용;

네임 스페이스 RESTAPIDemo.Controllers

{

    [Route ( "api / [controller]")]

    [ApiController]

    공용 클래스 DefaultController : ControllerBase

    {

        개인 읽기 전용 사전 작성자 = new Dictionary ();

        공용 DefaultController ()

        {

            authors.Add (1, "Joydip Kanjilal");

            authors.Add (2, "스티브 스미스");

            authors.Add (3, "Michele Smith");

        }

        [HttpGet]

        공개 목록 Get ()

        {

            목록 lstAuthors = new List ();

            foreach (작성자의 KeyValuePair keyValuePair)

                lstAuthors.Add (keyValuePair.Value);

            lstAuthors를 반환합니다.

        }

        [HttpGet ( "{id}", 이름 = "Get")]

        공개 문자열 Get (int id)

        {

            return authors [id];

        }

        [HttpPost]

        public void Post ([FromBody] 문자열 값)

        {

            authors.Add (4, 값);

        }

        [HttpPut ( "{id}")]

        public void Put (int id, [FromBody] 문자열 값)

        {

            작성자 [id] = 값;

        }

        [HttpDelete ( "{id}")]

        public void Delete (int id)

        {

            authors.Remove (id);

        }

    }

}

위의 DefaultController 클래스를 참조하십시오. 이 클래스에는 각 HTTP 동사 GET, POST, PUT 및 DELETE에 해당하는 작업 메서드가 포함되어 있습니다. 간단하게하기 위해 여기에서 사전을 사용하여 데이터를 저장하고 검색합니다. 웹 브라우저 나 Postman 또는 Fiddler와 같은 도구를 사용하여이 API를 테스트 할 수 있습니다. 단순성을 위해 HttpPost 메서드에서 ID를 하드 코딩했습니다. 고유 키를 생성하려면 고유 한 방식으로 구현해야합니다.

여태까지는 그런대로 잘됐다. 다음 섹션에서는 구축 한 API를 사용하기 위해 RestSharp와 함께 작업하는 방법에 대해 알아 봅니다.

API를 사용할 클라이언트 만들기

이전에 빌드 한 API를 사용하기 위해 콘솔 애플리케이션을 클라이언트로 사용할 것입니다. Visual Studio 2019가 시스템에 설치되어 있다고 가정하고 아래에 설명 된 단계에 따라 Visual Studio에서 새 .NET Core 콘솔 애플리케이션 프로젝트를 만듭니다.

  1. Visual Studio IDE를 시작합니다.
  2. "새 프로젝트 만들기"를 클릭합니다.
  3. "새 프로젝트 만들기"창의 표시된 템플릿 목록에서 "콘솔 앱 (.NET Core)"을 선택합니다.
  4. 다음을 클릭하십시오.
  5. 다음에 표시된 "새 프로젝트 구성"창에서 새 프로젝트의 이름과 위치를 지정합니다.
  6. 생성을 클릭합니다.

이것이 새 .NET Core 콘솔 애플리케이션 프로젝트를 만들기 위해해야 ​​할 전부입니다.

RestSharp NuGet 패키지 설치

RestSharp로 작업하려면 NuGet에서 RestSharp 패키지를 설치해야합니다. Visual Studio 2019 IDE 내의 NuGet 패키지 관리자를 통해 또는 NuGet 패키지 관리자 콘솔에서 다음 명령을 실행하여이 작업을 수행 할 수 있습니다.

설치 패키지 RestSharp

RestSharp를 사용하여 ASP.NET Core API 사용

RestSharp를 프로젝트에 설치했으면 사용을 시작할 수 있습니다. 먼저 RestClient의 인스턴스를 만들어야합니다. 다음 코드 조각은 RestClient 클래스를 인스턴스화하고 초기화하는 방법을 보여줍니다. RestClient 클래스의 생성자에 기본 URL을 전달하고 있습니다.

RestClient 클라이언트 = new RestClient ( "// localhost : 58179 / api /");

다음으로, 사용할 리소스 이름과 메서드를 전달하여 RestRequest 클래스의 인스턴스를 만들어야합니다. 다음 코드 스 니펫은이를 달성하는 방법을 보여줍니다.

RestRequest 요청 = new RestRequest ( "Default", Method.GET);

마지막으로 요청을 실행하고 응답을 역 직렬화 한 다음 아래 제공된 코드 스 니펫에 표시된대로 적절하게 개체에 할당해야합니다.

IRestResponse
   
     응답 = client.Execute
    
     (의뢰);
    
   

다음은 참조 용 전체 코드 목록입니다.

RestSharp 사용;

시스템 사용;

System.Collections.Generic 사용;

네임 스페이스 RESTSharpClientDemo

{

    수업 프로그램

    {

        개인 정적 RestClient 클라이언트 = 신규

        RestClient ( "// localhost : 58179 / api /");

        static void Main (string [] args)

        {

            RestRequest 요청 = new RestRequest ( "기본값",

            Method.GET);

            IRestResponse 응답 =

            client.Execute (의뢰);

            Console.ReadKey ();

        }

    }

}

RestSharp를 사용하여 POST 요청을하려면 다음 코드를 사용할 수 있습니다.

RestRequest 요청 = new RestRequest ( "기본값", Method.POST);

request.AddJsonBody ( "로버트 마이클");

var response = client.Execute (request);

RestSharp는 여러 .NET 플랫폼에서 사용할 수 있으며, 이것이 인기있는 이유 중 하나입니다. RestSharp의 자동 역 직렬화 기능도 주목할 만합니다. RestSharp에 대한 자세한 내용은 GitHub에서 확인할 수 있습니다.