Проверка достоверности объекта JSON при вводе метода POST в веб-API ASP.NET CoreC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Гость
 Проверка достоверности объекта JSON при вводе метода POST в веб-API ASP.NET Core

Сообщение Гость »


У меня проблема в уже реализованном проекте. Здесь я приведу более простой пример, чтобы изолировать проблему. Предположим, у нас есть простой класс Person.

пространство имен JsonTest.Models; общественный класс Человек { общедоступный идентификатор Guid {get; набор; } общественная строка FirstName {get; набор; } = строка.Пусто; общественная строка LastName {get; набор; } = строка.Пусто; общественный ИНТ Возраст {получить; набор; } } А еще у нас есть простой контроллер с единственным методом, задача которого — возвращать JSON с данными person.

с использованием Microsoft.AspNetCore.Mvc; использование JsonTest.Models; пространство имен JsonTest.Controllers; [Апиконтроллер] [Маршрут("[контроллер]")] открытый класс JsonTestController: ControllerBase { [HttpPost] public IActionResult SavePerson ([FromBody] Person person) { return new JsonResult(new { person.Id, person.FirstName, person.LastName, person.Age }); } } Этот метод ведет себя предсказуемо с предсказуемыми данными.

Например

{ "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "firstName": "Дэвид", "lastName": "Смит", «возраст»: 26 } вернётся

{ "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "firstName": "Дэвид", "lastName": "Смит", «возраст»: 26 } Но если вы передадите неполный JSON (по какой-то причине это иногда случается в проекте), недостающие данные будут иметь значения по умолчанию.

Например

{ "firstName": "Дэвид", "lastName": "Смит", «возраст»: 26 } вернётся

{ "id": "00000000-0000-0000-0000-000000000000", "firstName": "Дэвид", "lastName": "Смит", «возраст»: 26 } Но в моем случае объект person должен быть полным. В противном случае я ожидаю исключения. Я понимаю, что могу поместить атрибут [BindRequired] в свойство Id в классе Person и заменить [FromBody] на [FromQuery] в методе. Но таких конструкций в проекте много и хотелось бы решить эту проблему.

Итак, мой вопрос: Как указать, какие данные в объекте JSON необходимы, если объект взят из тела запроса?
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ, комментарий, отзыв

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Проверка достоверности объекта JSON при вводе метода POST в веб-API ASP.NET Core
    Гость » » в форуме C#
    0 Ответы
    5 Просмотры
    Последнее сообщение Гость
  • Ajax Post в Asp.net Core в .Net 6 не работает в методе действия
    Anonymous » » в форуме Jquery
    0 Ответы
    21 Просмотры
    Последнее сообщение Anonymous
  • Почему мой метод не работает при вводе переменной, а не при непосредственном вводе строки?
    Гость » » в форуме JAVA
    0 Ответы
    20 Просмотры
    Последнее сообщение Гость
  • Разница между ASP.NET Core и ASP.NET Framework
    Anonymous » » в форуме C#
    0 Ответы
    37 Просмотры
    Последнее сообщение Anonymous
  • Разница между ASP.NET Core и ASP.NET Framework [закрыто]
    Гость » » в форуме C#
    0 Ответы
    36 Просмотры
    Последнее сообщение Гость

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