Parazival Ответов: 1

Как отправить JSON-данные из ASP.NET форму vs2010 с веб-API


я отправляю данные JSON клиенту, как показано ниже кода

они создали веб-API в соответствии с упомянутым methos, и они протестировали in 'postman' с образцом данных JSON и успешно сохранили свою БД,
[HttpPost]
        public HttpResponseMessage InsertPatDet([FromBody]List<Patient> pt)
        {}



но они сказали, что с моим кодом они не получают никаких рекордов(0)

Что я уже пробовал:

<pre>//Create a request using a URL that can receive a post.         

            string url = "https://url";
            HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);

            request.Method = "POST";
            // Create POST data and convert it to a byte array.
            string postData = GetJSonData();// "{\"name\":\"Here is the json text 
            byte[] byteArray = Encoding.UTF8.GetBytes(postData);

            // Set the ContentType property of the WebRequest.
            request.ContentType = "application/x-www-form-urlencoded";
            //request.ContentType = "application/json; charset=utf-8 ";
            request.Accept = "application/json";
            // Set the ContentLength property of the WebRequest.
            request.ContentLength = byteArray.Length;
            // Get the request stream.
            Stream dataStream = request.GetRequestStream();
            // Write the data to the request stream.

            //List<byte> ListByte = new List<Byte>(byteArray);

            dataStream.Write(byteArray, 0, byteArray.Length);

            // Close the Stream object.
            dataStream.Close();
            // Get the response.
            WebResponse response = request.GetResponse();
            // Display the status.
            Response.Write(((HttpWebResponse)response).StatusDescription);
            // Get the stream containing content returned by the server.
            dataStream = response.GetResponseStream();
            // Open the stream using a StreamReader for easy access.
            StreamReader reader = new StreamReader(dataStream);
            // Read the content.
            string responseFromServer = reader.ReadToEnd();
            // Display the content.
            Response.Write(responseFromServer);
            // Clean up the streams.
            reader.Close();
            dataStream.Close();
            response.Close();

F-ES Sitecore

Это URL-адрес правильный? Является ли json правильным? Вызывается ли ваш метод API? Есть ли какие-то исключения?

Parazival

Url-адрес правильный, и Json также правильный
Метод API бьет но данные не идут

строка postData="[{\"FirstName\":\"xyz kumar\",\"DateOfBirth\":\"1996-06-07\",\"LastName\":\"\",\"Gender\":\"M\",\"PatientId\":\"456HJKGHJ\",\"Mobile\":\"9999999999\",\"KIN\":[{\"Name\":\"gvhgv kjbj,\",\"визиты\":"
+"[{\"date\":\"2020-06-24T00:00:00\"},{\"date\":\"2020-06-26T00:00:00\"},{\"date\":\"2020-06-28T00:00:00\"}]}]},{\"FirstName\":\"abc kumari\",\"Дата рождения\":\"1996-06-07\",\"фамилия\":\"\","
+"\"Gender\":\"F\",\"PatientId\":\"4567YTFGHJ\",\"Mobile\":\"\",\"KIN\":[{\"Name\":\"D04420B00001\",\"Visits\":[{\"date\":\"2020-07-02T00:00:00\"},{\"date\":\"2020-07-10T00:00:00\"},{\"date\":\"2020-07-18T00:00:00\"},"
+"{\"дата\":\"2020-07-26T00:00:00\"}]}]} ]";

1 Ответов

Рейтинг:
2

Richard Deeming

Цитата:
request.ContentType = "application/x-www-form-urlencoded";
Если вы отправляете JSON, то вам нужно использовать правильный тип MIME.
request.ContentType = "application/json";