본문 바로가기
개발언어/C#

[C#] REST API 호출하기 (RestSharp 이용)

by 창용이랑 2022. 3. 30.
728x90

C# rest API 호출하기 (RestSharp 이용)

C# 라이브러리인 RestSharp을 이용해서 C#에서 rest API를 호출해 봅시다.

 

 

프로젝트를 클릭한 후 NuGet 패키지 관리로 들어가 줍니다.

 

RestSharp를 설치해 줍니다.

 

Json형식으로 파일을 받아서 사용할 것이기 때문에 관련 패키지도 설치해 줍니다.

 

Json.NET - Newtonsoft

× PM> Install-Package Newtonsoft.Json or Install via VS Package Management window. ZIP file containing Json.NET assemblies and source code: Json.NET

www.newtonsoft.com

 

Postman에서 사용하고자 하는 API를 C# RestSharp으로 호출할 수 있는 코드를 받을 수 있습니다.

 

Postman | The Collaboration Platform for API Development

Postman makes API development easy. Our platform offers the tools to simplify each step of the API building process and streamlines collaboration so you can create better APIs faster.

www.postman.com

위 코드를 그대로 가져와 줍니다.

저는 API를 호출해서 원하는 특정 값만 출력하려고 아래와 같이 코드를 조금 변경했습니다.

using System; 
using System.Net; 
using System.IO; 
using RestSharp; 
using Newtonsoft.Json; 
using Newtonsoft.Json.Linq; 
using System.Collections.Generic; 

class Test 
{ 
	static void Main(string[] args) 
    { 
    	var client = new RestClient("url"); 
        client.Timeout = -1; 
        var request = new RestRequest(Method.GET); 
        
        IRestResponse response = client.Execute(request); 
        
        //받아온 데이터를 json형태로 묶음 
        var jObject = JObject.Parse(response.Content); 
        
        //받아온 데이터에서 result값을 추출하는 예시 
        string city = jObject.GetValue("result").ToString(); 
        
        //받아온 데이터에서 result - 첫번째 location을 추출하는 예시 
        string etc = jObject["result"][0]["location"].ToString(); 
        
        //그걸 출력해 보자. 
        Console.WriteLine(etc); 
    }
}

 

 

Read JSON Response Body using Rest Sharp

In the last two tutorials we have learnt about Response Status Code, Status line and Headers. We will continue with the same example in those tutorials and verify the body if the Response. If you have not gone through the first two tutorials then I would s

www.toolsqa.com

참고로 저는 위 글을 참고해서 원하는 값을 출력하도록 코드를 변경했습니다.

 

 

실제로 웹상에서 API를 호출하게 되면 아래와 같이 나타나게 됩니다.

저는 result Object의 첫 번째 location을 출력하도록 할 것이어서 

아래와 같이 코드를 작성했습니다.

        string etc = jObject["result"][0]["location"].ToString();
        
        Console.WriteLine(etc);

 

코드를 실행 시 아래와 같이 성공적으로 나타나게 됩니다 ~

 

이를 활용 한다면 내가 만든 API를 통해 C# winform 개발을 할 수 있고

Unity엔진을 이용한 게임개발에서 내가 원하는 API를 만들어서 호출할 수 있을 것 같습니다 !! 

활용 방법이 엄청 많을거 같네요 



출처: https://yusang.tistory.com/88 [YS's develop story]