JSON POST 데이터를 웹 API 메서드에 개체로 전달
ASP.NET MVC4 Web API에서 다음과 같은 시나리오가 발생할 수 있습니다. JSON 데이터가 포함된 POST 요청은 작업 메서드에 개체로 전달되어야 합니다. 그러나 적절한 구성이 없으면 작업 메서드의 매개 변수에 null 속성이 포함될 수 있습니다. 이 문제를 해결하려면 다음 단계를 수행해야 합니다.
1. Content-Type을 "application/json"으로 지정:
요청을 보낼 때 Content-Type 헤더가 "application/json"으로 설정되어 있는지 확인하세요. 데이터가 JSON 형식임을 서버에 알려줍니다.
2. JSON.stringify 메서드 사용:
클라이언트 측 코드에서 JSON.stringify 메서드를 사용하여 JSON 데이터를 JSON 문자열로 변환합니다. 이 단계는 모델 바인더가 JSON 데이터를 클래스 객체에 바인딩하는 데 중요합니다.
예:
var customer = { contact_name: "Scott", company_name: "HP" }; $.ajax({ type: "POST", data: JSON.stringify(customer), url: "api/Customer", contentType: "application/json" });
3. 액션 메소드 매개변수를 [FromBody]로 장식:
Web API 액션 메소드에서 JSON 데이터를 받을 매개변수를 [FromBody]로 장식합니다. 이 속성은 데이터가 요청 본문에서 바인딩되어야 함을 나타냅니다.
예:
public IActionResult Post([FromBody] Customer customer) { // ... }
4. 복잡한 객체 게시:
뷰 모델 클래스에 복잡한 속성(예: 목록 또는 중첩 클래스)이 포함된 경우 동일한 원칙이 적용됩니다. 클라이언트 측 코드가 클래스 구조와 일치하는 객체를 빌드하고 이를 올바른 Content-Type을 사용하여 JSON 데이터로 보내는지 확인하세요.
문제 해결:
위 내용은 ASP.NET MVC4에서 JSON POST 데이터를 웹 API 메서드에 개체로 전달하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!