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

问题描述

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

标签: c#.netasp.net-mvcasp.net-apicontroller

解决方案


首先需要在此处声明一个数据传输对象(DTO)详细信息 在您的模型文件夹中,该文件夹看起来与 json 对象相同。

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

{ ID: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

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

希望有帮助。


推荐阅读