간단한 예이지만 양식 정보 게시, 권한 부여 등과 같은 보다 정교한 시나리오를 처리해야 할 때 훨씬 더 복잡해집니다. 이러한 클래스를 사용하여 API를 사용하는 방법의 간단한 예입니다. 웹 API 프레임워크가 요청을 받으면 요청을 작업에 라우팅합니다. 이러한 작업은 TodoItemsController 클래스의 공용 메서드입니다. 프레임워크는 라우팅 테이블을 사용하여 다음 코드 예제에 표시된 요청에 대한 응답으로 호출할 작업을 결정합니다. 정보를 공개합니다. 그 후, 우리는 다음과 같은 결과를 얻기 위해 그것을 반복 할 수 있습니다. 그러나 그것은 우리의 요청을 형성하는 방식에 달려 있으며 RestClient의 동적 특성을 활용함으로써 발생합니다. 예를 들어, 우리의 BaseUrl은 https://api.github.com 우리는 https://api.github.com/repos/restsharp/restsharp/releases 도착해야합니다. 우리는 동적으로 우리의 클라이언트를 만든 다음 URL의 “부분”을 연결하여 URL을 형성하여 그렇게 할 수 있습니다 : 그것은 또한 우리가 얻을 JSON 응답이 자동으로 입력 캐스팅되고 있음을 언급 할 가치가있다.

두 번째 예제에서 볼 수 있듯이 메서드의 반환 값은 Task<List>입니다. 따라서 라이브러리는 우리의 유형에 대한 응답을 캐스팅 할 만큼 똑똑합니다 (Json.NET 의존). 그것은 우리의 삶을 훨씬 더 쉽게 만듭니다. HttpClient 인스턴스는 다음 코드 예제와 같이 응용 프로그램이 HTTP 요청을 수행해야 하는 동안 개체가 유지되도록 클래스 수준에서 선언됩니다. URI에서 지정한 다음 다음 코드 예제와 같이 웹 서비스에서 응답을 수신합니다. HttpClient는 “블록의 새로운 아이”이며 이전 라이브러리가 부족한 최신 .NET 기능 중 일부를 제공합니다. 예를 들어, HttpClient의 단일 인스턴스를 사용하여 여러 요청을 보낼 수 있으며, 특정 HTTP 서버 또는 호스트에 연결되지 않고 비동기/await 메커니즘을 사용합니다. 특정 문제에 사용할 수 있는 다른 옵션이 많이 있습니다. 이러한 라이브러리를 사용하여 특정 RESTful API를 사용할 수 있습니다. 예를 들어, octokit.net GitHub API와 함께 작동 하도록 사용 됩니다 특히, 페이 스 북 SDK 페이스 북 API를 사용 하는 데 사용 되 고 거의 아무것도 대 한 많은 다른.

대부분의 URI에는 경로에 TodoItem ID가 포함됩니다. 예를 들어 ID가 6bb8a868-dba1a-93b7-24ebce87e243인 TodoItem을 삭제하려면 클라이언트가 http://hostname/api/todoitems/6bb8a868-dba1-4f1a-93b7-24ebce87e243 DELETE 요청을 보냅니다. 샘플 응용 프로그램에 사용된 데이터 모델에 대한 자세한 내용은 데이터 모델링을 참조하십시오. HttpWebRequest/HttpWebResponse 및 WebClient 클래스는 모두 이전 버전의 .NET에서 사용할 수 있습니다. WebClient가 제공하는 다른 내용에 관심이 있다면 MSDN을 확인하십시오. 예를 들어, 우리는 GitHub API를 통해 RestSharp 리포지토리 릴리스 및 게시 날짜에 대한 정보를 수집합니다. 이 정보는 공개적으로 사용할 수 있으며 원시 JSON 응답이 여기에서 어떻게 보이는지 볼 수 있습니다 : RestSharp 릴리스는 이제 적어도 95 %가 REST를 소비 할 준비가되어 있다고 생각합니다. 앞으로 가서 날개를 확산, 탐구하고 다른 API를 소비하고 연결하는 더 공상적이고 흥미로운 방법을 찾을 수 있습니다. 지금 여유롭게 잠을 자고, 웹 개발 경로를 취함으로써 🙂 방법을 알면 조만간 외부 API(응용 프로그램 프로그래밍 인터페이스)를 처리해야 할 필요가 있습니다. 이 문서에서 는 C# 프로젝트에서 RESTful API를 사용하는 가장 포괄적인 방법 목록을 만들고 몇 가지 간단한 예제에서 이를 수행하는 방법을 보여 주는 것이 목표입니다.