Как удалить автоматически сгенерированные идентификаторы в данных JSON - PullRequest
0 голосов
/ 31 мая 2019

Я связываю данные из одного dto в другой, чтобы иметь возможность отправлять запрос данных json с помощью Rest client в методе post в c #.Когда я связываю данные из одного dto в другое, окончательное dto (которое я буду использовать для отправки запроса) должно быть в формате json, но я заметил, что перед отправкой запроса к моим данным автоматически добавляются идентификаторы.,После отправки запроса я получаю код ошибки 400 Bad Request, когда я вручную удаляю автоматически сгенерированные идентификаторы в моих данных запроса и отправляю запрос, все работает успешно.Как я могу отправить данные json без этих автоматически сгенерированных идентификаторов?

Это мой код:

using (HttpClient client = new HttpClient())
        {
            try
          {

               if (!datarequest.IsNull())
               {

                  client.DefaultRequestHeaders.Accept.Clear(); 
                  client.DefaultRequestHeaders.Add("userName", "".AppendWebConfigValue("Username"));
                  client.DefaultRequestHeaders.Add("password", "".AppendWebConfigValue("Password"));

Я пробовал это делать как с ToJSONString (), так и с SerializeObject ()

                  //string jsonObjectA = datarequest.ToJSONString();
                  string jsonObjectA = JsonConvert.SerializeObject(datarequest);
                    HttpContent content = new StringContent(jsonObjectA, Encoding.UTF8, "application/json");



                    // Add an Accept header for JSON format.    
                    //client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                    client.BaseAddress = new Uri("https://localhost:20458");
                    httpResponse = client.PostAsync("/method/test", content).Result;

                    if (!httpResponse.IsNull())
                        respDto = httpResponse.Content.ReadAsAsync<dataResponseDto>().Result;

Это dto, сгенерированный для отправки его в запросе, который содержит автоматически сгенерированные идентификаторы:

{"$id":"1","Type":"Initiate","Persons":[{"$id":"2","Name": 
{"$id":"3","FirstName":"John","LastName":"Doe"},"SSN": 
{"$id":"4","Number":"21790####","Type":"ssn9"},"Phones": 
[{"$id":"5","Number":"5615555555","Context":"mobile"}]}]}

Как я могу удалить эти "$id":"1" и "$id":"2" ... для отправки данных взапрашиваемый формат?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...