본문 바로가기

C#

REST API PUT메소드 사용하는 방법

반응형

C#에서 REST API의 PUT 메서드를 사용하여 데이터를 업데이트하는 방법에 대해 설명해 드리겠습니다.

먼저, System.Net.Http 네임스페이스를 사용하기 위해 프로젝트에 참조를 추가합니다.

HttpWebRequest 클래스나 WebClient 클래스를 사용하여 PUT 메서드를 호출할 수 있습니다. 그러나 이러한 방법들은 간단하지만, 각각의 요청마다 새로운 연결이 만들어지고, 코드가 길어지게 되는 단점이 있습니다.

더 좋은 방법으로는 HttpClient 클래스를 사용하는 것입니다. HttpClient는 단일 인스턴스를 유지하면서 여러 요청을 처리할 수 있습니다. 또한, 다양한 응답 형식을 처리할 수 있으며, 비동기 작업도 지원합니다.

예를 들어, 다음과 같이 PUT 메서드를 사용하여 JSON 형식의 데이터를 업데이트하는 코드를 작성할 수 있습니다.

using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;

public static async Task<string> UpdateDataAsync(string url, string jsonData)
{
    var httpClient = new HttpClient();

    var content = new StringContent(jsonData, Encoding.UTF8, "application/json");
    var response = await httpClient.PutAsync(url, content);

    var responseContent = await response.Content.ReadAsStringAsync();

    if (response.IsSuccessStatusCode)
    {
        return responseContent;
    }
    else
    {
        throw new Exception($"Failed to update data: {response.StatusCode}, {responseContent}");
    }
}

위 코드에서 url은 업데이트할 리소스의 URI이며, jsonData는 JSON 형식으로 업데이트할 데이터입니다. StringContent 클래스를 사용하여 업데이트할 데이터를 포함하는 요청 본문을 만듭니다.

httpClient.PutAsync() 메서드를 호출하여 PUT 요청을 보냅니다. 응답이 성공적으로 수신되면, 응답 본문을 반환합니다. 그렇지 않으면, 예외를 발생시킵니다.

이와 같이 HttpClient 클래스를 사용하여 PUT 메서드를 호출하면, 간단하면서도 유연하고 안정적인 REST API 호출을 구현할 수 있습니다.

반응형