JSON POST 데이터를 웹 API의 개체로 전달
ASP.NET MVC4 웹 API 애플리케이션은 데이터 제출을 처리하기 위해 POST 메서드를 정의하는 경우가 많습니다. 요청 본문에서 JSON 데이터를 수신할 때 개발자는 POST 매개변수가 null로 설정되는 문제에 직면할 수 있습니다. 이 문제를 해결하려면 Content-Type 및 모델 바인딩을 올바르게 사용하는 것이 중요합니다.
Content-Type:
기본적으로 ASP.NET은 Content를 사용합니다. -유형: application/x-www-form-urlencoded, 이는 JSON 데이터 전송에 적합하지 않습니다. JSON을 지정하려면 요청 헤더에 Content-Type: application/json을 설정하세요.
모델 바인딩:
모델 바인딩을 활성화하려면 POST 메서드 매개변수를 [ 프롬바디]. 이 속성은 데이터가 URL 쿼리 문자열이 아닌 요청 본문에서 바인딩되어야 함을 지정합니다.
예:
제공된 예에서 컨트롤러 메서드는 요청 본문의 고객 개체입니다. null 값 문제를 해결하려면 요청 헤더에 Content-Type: application/json을 지정하고 다음과 같이 매개변수를 [FromBody]로 장식했는지 확인하세요.
public object Post([FromBody] Customer customer)
클라이언트 측에서는 JSON을 사용하세요. POST 요청을 보내기 전에 Customer 개체를 JSON 문자열로 변환하려면 stringify를 사용하세요.
복잡한 개체:
중첩된 속성이나 목록이 있는 개체와 같은 더 복잡한 개체의 경우 , 동일한 접근 방식이 적용됩니다. JSON.stringify를 사용하여 클라이언트 측에서 객체를 직렬화하고 올바른 Content-Type 헤더가 설정되었는지 확인하세요.
문제 해결:
모델 바인딩이 올바르게 작동하지 않는 경우 , 다음 사항을 고려하세요.
위 내용은 ASP.NET MVC4 웹 API에서 모델 바인딩을 사용하여 JSON POST 데이터를 올바르게 처리하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!