DBA

Form Data 받기 ([FromBody] JObject jsonData) 본문

[3] Development/MVC(ASP.NET with C#)

Form Data 받기 ([FromBody] JObject jsonData)

코볼 2023. 11. 21. 10:23
728x90
반응형
SMALL

`[FromBody] JObject`를 사용할 수 있는 경우는 주로 API 개발 시 JSON 형식의 HTTP 요청을 처리할 때입니다. ASP.NET Web API 또는 ASP.NET Core MVC에서 클라이언트로부터 JSON 형식의 데이터가 HTTP 요청 본문(Body)으로 전송될 때 JObject를 사용하여 이 데이터를 받을 수 있습니다.

사용 시나리오

  1. RESTful API 개발: 클라이언트가 서버에 JSON 형식으로 데이터를 전송할 때, 예를 들어, 모바일 애플리케이션 또는 다른 서버에서 요청을 보내는 경우입니다.
  2. 커스텀 JSON 데이터 처리: JSON 데이터 구조가 미리 정해지지 않았거나, 유동적이어서 강타입의 모델로 바로 매핑하기 어려운 경우에 JObject를 사용할 수 있습니다.
  3. AJAX 요청: 클라이언트 사이드 JavaScript 또는 jQuery 등을 사용하여 서버로 JSON 데이터를 비동기적으로 전송하는 경우입니다.

클라이언트 측에서 JSON 형식의 데이터를 서버에 전송하는 JavaScript 예시:

fetch('/api/data', {
    method: 'POST',
    headers: {
        'Content-Type': 'application/json'
    },
    body: JSON.stringify({
        key1: "value1",
        key2: "value2"
    })
});

서버 측에서 JObject를 사용하여 데이터를 받는 C# ASP.NET Web API 예시:

[HttpPost]
public IHttpActionResult PostData([FromBody] JObject jsonData)
{
    // jsonData를 사용하여 데이터 처리
    return Ok();
}

이 경우, 클라이언트로부터 전송된 JSON 데이터는 JObject 형식으로 서버에 도착하며, 서버 측에서는 이 JObject를 사용하여 데이터를 유연하게 처리할 수 있습니다.

 

 

 

 

 

 

하지만, HTML 폼 데이터와 같이 application/x-www-form-urlencoded 형식으로 전송된 데이터는 JObject로 자동 변환되지 않으므로 이를 사용할 수 없습니다.

728x90
반응형
LIST
Comments