나는 웹 API에 JSON을 통해 개체를 보내려고하지만JSON : (500) 내부 서버 오류
내 클라이언트 측 행동으로 예외 실행 계속입니다
public string SubmitNewIncident(Incident input)
{
string response = String.Empty;
string serialisedJSON = String.Empty;
input.Type = 0;
serialisedJSON = JsonConvert.SerializeObject(input);
string fpath = String.Format(@"C:\dev\serialisedJSONLog_{0}.txt", DateTime.Now.ToString("yyyy-dd-M--HH-mm-ss"));
System.IO.File.WriteAllText(fpath, serialisedJSON);
using (WebClient wc = new WebClient())
{
wc.Headers[HttpRequestHeader.ContentType] = "application/json";
try
{
response = wc.UploadString(new Uri("http://localhost:25657/api/RaiseNew"), serialisedJSON);
}
catch(Exception ex)
{
string path = String.Format(@"C:\dev\ErrorLog_{0}.txt", DateTime.Now.ToString("yyyy-dd-M--HH-mm-ss"));
System.IO.File.WriteAllText(path, ex.ToString());
throw ex;
}
}
return (response);
}
JSON 문자열은 정상적으로 보이지만 매우 길다. 내 서버 측 코드는 다음과 같습니다
System.Net.WebException: The remote server returned an error: (500) Internal Server Error.
:
이
public class RaiseNewController : ApiController
{
// GET api/raisenew
[HttpGet]
public HttpStatusCode Get()
{
return HttpStatusCode.OK;
}
//POST api/raisenew
[HttpPost]
public int Post([FromBody] Incident input)
{
input.AssignedTo = AssignNewTicket(input.AppID ?? 0);
return 0;
}
문자열 serialisedJSON
의 값은 내가 작업을 호출 할 때 여기
를 게시하고 나는 다음과 같은 예외를 얻을 JSON 문자열을 업로드하는 데 시간이 너무 오래입니다
역 직렬화를하기 전에 얻은 텍스트와 응답해야 할 내용을 알려주십시오. 당신이 그것을 공유 할 수 있다면 나는 당신을 올바르게 도울 것입니다. –
"http : // localhost : 25657/api/RaiseNew" 여기에 확장자 .php가 누락되어 있지 않습니까? – MwBakker
ASP.NET 웹 API는 Json.NET을 사용합니다. 왜 비추천 JavascriptSerializer를 사용하고 있습니까? 실제로 웹 API는 내용이 유효하고 입력 매개 변수 유형을 'Incident'으로 변경하면 객체를 자동으로 deserialize합니다. –