如何在此.NET控制器方法中正确检索请求JSON有效负载?

时间:2018-11-22 11:51:16

标签: c# .net asp.net-mvc asp.net-apicontroller

我让这种控制器方法处理 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文档?

1 个答案:

答案 0 :(得分:1)

首先需要声明数据传输对象(DTO)Details Here 在模型文件夹中,看起来与json对象相同。

Forexmaple,您有一个json对象,如下所示:

{ 编号:22, 名称:“易卜拉欣”, 子代:[“ Name1”,“ Name2”,“ Name3”] }

制作一个对应的普通旧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

您可以像访问任何对象一样访问其属性。

希望有帮助。