【问题标题】:How can I correctly retrieve the request JSON payload inside this .NET controller method? [duplicate]如何在此 .NET 控制器方法中正确检索请求 JSON 有效负载? [复制]
【发布时间】:2018-11-22 11:51:16
【问题描述】:

我有这个控制器方法处理 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# .net asp.net-mvc asp.net-apicontroller


【解决方案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

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

希望有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-08-12
    • 2017-04-24
    • 2011-09-11
    • 1970-01-01
    • 2023-01-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多