Веб-API ASP.NET: объект данных с атрибутом JsonPropertyName ожидает, что полезная нагрузка будет JsonPropertyName, и вмеC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Веб-API ASP.NET: объект данных с атрибутом JsonPropertyName ожидает, что полезная нагрузка будет JsonPropertyName, и вме

Сообщение Anonymous »

Это метод API:

Код: Выделить всё

[Authorize]
[HttpPost("pa/questionnaire")]
[ProducesResponseType(200, Type = typeof(ApiResponse))]
[ProducesResponseType(500, Type = typeof(ApiResponse))]
public async Task FillPA([FromBody] QuestionnaireData data)
Это класс QuestionnaireData:

Код: Выделить всё

public class QuestionnaireData
{
public string Id { get; set; }
public DateTime? SignedDate { get; set; }
public Questionnaire Questionnaire { get; set; }
}

public class Questionnaire
{
[JsonPropertyName("patient_signature_date")]
public DateTime? PatientSignatureDate { get; set; }

[JsonPropertyName("patient_dob")]
public DateTime? PatientDob { get; set; }
[JsonPropertyName("patient_email")]
public string PatientEmail { get; set; }

[JsonPropertyName("patient_gender")]
public string PatientGender { get; set; }

[JsonPropertyName("patient_cell_phone")]
public string PatientCellPhone { get; set; }

[JsonPropertyName("patient_address")]
public string PatientAddress { get; set; }

[JsonPropertyName("patient_city")]
public string PatientCity { get; set; }
}
Мне нужно использовать эту полезную нагрузку (с исходным именем свойства):

Код: Выделить всё

{
"Id": "234567",
"signedDate": "2024-09-30T00:00:00",
"questionnaire": {
"patientEmail": "[email protected]",
"patientCellPhone": "(817)-123-4567",
"patientDob": "2001-02-02",
"patientGender": "female",
"patientAddress": "96 FOREST ST",
"patientCity":"BOSTON"
}
}
Но вместо этого он работает только с именем свойства json:

Код: Выделить всё

{
"Id": "a5UU90000002VEEMA2",
"signedDate": "2024-09-30T00:00:00",
"Questionnaire": {
"patient_dob": "2024-09-30T08:16:06.509Z",
"patient_email": "string",
"patient_gender": "string",
"patient_cell_phone": "string",
"patient_address": "string",
"patient_city": "string"
}
}
Атрибут мне нужен для будущего использования (чтобы преобразовать значения объекта в пары ключ-значение и опубликовать их в другом API), а не для именования полезной нагрузки,
У кого-нибудь есть идеи?

Подробнее здесь: https://stackoverflow.com/questions/790 ... he-payload
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»