Я связываю данные из одного 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"
... для отправки данных взапрашиваемый формат?