Как получить исходные параметры запроса до конвертации / привязки. net? - PullRequest
0 голосов
/ 05 февраля 2020

У меня есть модель, которая выглядит следующим образом:

public class SignalModelEntity
{
    ...
    [JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
    public BooleanValue ValueBoolean { get; set; }
}

и класс ValueBoolean:

public class BooleanValue 
{
    public bool? Value { get; set; }
    public string FormattedValue { get; set; }
}

При отправке тела с json, которое выглядит следующим образом:

...
"ValueBoolean": {
    "Value": 23,
    "FormattedValue": ""
}

Допустим, пользователь отправил мне значение '23'.

Привязка / преобразование дает мне значение "true" для свойства логического значения внутри класса ValueBoolean.

Я хочу скорее узнать, что пользователь отправил мне '1', 'true', чтобы я мог подтвердить, что значение является допустимым и истинным.

И если пользователь, например, прислал мне «23», так что это недопустимо и возвращает код ошибки «badRequest».

Итак, как я могу получить исходные параметры, отправленные из запроса?

Мой метод отправки следующий:

[Route("{patientId}")]
[HttpPost]
public IHttpActionResult Post(int patientId, [FromBody]SignalModelEntity signal)

1 Ответ

0 голосов
/ 18 февраля 2020

Вам потребуется обновить определение метода следующим образом:

    [Route("{patientId}")]
    [HttpPost]
    public IHttpActionResult Post(int patientId, [FromBody]dynamic signal)

Вы можете получить доступ к исходному значению следующим образом:

var originalValue = signal.Value.Value;

Возможно, вам потребуется создать пользовательский JsonConverter для преобразования этого динамического c сигнала в объект SignalModelEntity.

...