Как я могу правильно получить полезную нагрузку JSON запроса внутри этого метода контроллера .NET?

У меня есть этот метод контроллера, обрабатывающий запрос POST:

[SharePointContextWebAPIFilter]
[HttpPost]
[ActionName("InviaMailAlProtocollo")]
public IHttpActionResult InviaMailAlProtocollo(string siglaIdUor)
{

    Console.WriteLine("INTO InviaMailAlProtocollo()" + siglaIdUor);

    Console.WriteLine("INTO InviaAlProtocollo()" + siglaIdUor);

    string requestContent = Request.Content.ToString();


    return Ok("TEST");

}

Я выполняю запрос POST, передавая документ JSON внутри тела запроса.

Как я могу правильно получить и распечатать этот документ JSON внутри моего метода контроллера?


person AndreaNobili    schedule 22.11.2018    source источник
comment
так как будет выглядеть ваш вывод?   -  person er-sho    schedule 22.11.2018


Ответы (1)


Сначала нужно объявить объект передачи данных (DTO) Подробности здесь В вашей модели Папка, которая выглядит так же, как объект json.

Forexmaple у вас есть объект json, который выглядит так:

{Идентификатор: 22, Имя: "Ибрагим", Дети: ["Имя1","Имя2","Имя3"] }

создайте соответствующий старый объект Csharp (Poco), как показано ниже:

  public class ParentBasicInfo
    { 
    public int Id {get ;set;}
    public string Name{get ;set;}
    public List<string>Children{get ;set;}
    }

в вашем контроллере поместите экземпляр вашего poco:

Заменять:

public IHttpActionResult InviaMailAlProtocollo(string siglaIdUor)
{
}

с :

public IHttpActionResult InviaMailAlProtocollo(ParentBasicInfo siglaIdUor)
{
}

весь объект json будет внутри siglaIdUor

вы можете получить доступ к его свойствам, как к любому объекту.

Надеюсь, это поможет.

person Community    schedule 22.11.2018