2
I 다음 Asp.Net 웹 API v2의 컨트롤러가 - 단지 기본 예제로 :WebApi 수락 JSON 문제 - 젠 데스크
[HttpPost]
public IHttpActionResult TestPost([FromBody]string value)
{
l.TestNotify(value, "test");
return Ok();
}
내가 AA 간단한에 "Hello World"와 컨트롤러에 JSON 요청을 전달하는 경우 - 나는 값을 아무 문제없이 얻을 수있다. 더 복잡한 JSON을 사용하면 value 매개 변수가 빈 값을 반환합니다.
restsharp를 사용하여 테스트 프로그램을 사용하여 동일한 JSON을 테스트했으며 제대로 작동합니다.
다음Content-Type application/json; charset=utf-8
Accept-Encoding gzip;q=1.0,deflate;q=0.6,identity;q=0.3
Accept */*
Content-Length 743
는 JSON 코드 조각입니다 :
{
"ticket": {
"url": "",
"id": "",
"external_id": null,
"FromEmail": "cody",
"via": "Mail",
}
}
내 생각 엔이 요청 차이지만 분명 아무것도 마음에 온다 사이에 할 수있는 뭔가가 있다는 것입니다 여기에
는 요청입니다. 요청 내용을 읽거나 위의 http 요청에 대한 나의 이해를 조정하는 다른 방법이 인정 될 것입니다.
완벽하게 작동했습니다. 왜 그런가요? 나중에 클래스를 역 직렬화하기 위해 클래스를 만들었습니다. 차이점의 이유가 무엇인지 궁금합니다. –
프레임 워크를 사용하면 (비) 직렬화가 많은 이점을 갖습니다. 예를 들어'Content-Type : application/xml' 헤더를 지정할 수 있습니다. 그러면 웹 API가 JSON 대신 XML을 받아 들일 수 있습니다. 또한 리팩토링하는 데 도움이되는 테스트를 작성하는 데 도움이됩니다. 속성의 이름을 바꾸면 모든 참조가 솔루션 전체에서 이름이 바뀝니다. –