ASP.NET WebApi如何获取控制器收到的JSON

5 asp.net-mvc asp.net-web-api

在我的控制器中:

public class ProfileController : ApiController
{
    public HttpResponseMessage PostCreateProfile (HubBasicProfile bp)
    {

        HttpResponseMessage result = null;    
        if (bp == null)
        {
            result = Request.CreateResponse(HttpStatusCode.InternalServerError, "Could not instantiate Profile with JSON provided.");
        }


...
Run Code Online (Sandbox Code Playgroud)

json的自动反序列化以实例化bp对象发生在后台。

我想看看控制器收到的json,以尝试解决我们遇到的问题。此时,bp始终为空。(当我说我想看看时,我想检查一下,看看解串器在哪里出问题。)

我看了发送的json,这似乎很好。

因此,有人可以告诉我如何调试json-> bp对象进程吗?

Mar*_*nes 5

启用跟踪,并查看序列化程序是否正在记录任何警告http://www.hanselman.com/blog/WhenInDoubtTurnOnTracing.aspx

特别是在这里查找跟踪

  • 添加Nuget包
  • 请按照其余说明进行操作。

如果做不到这一点看这里实现自己很基本的一个。

通过JsonLint测试运行您的JSON 。

还要确保使用Json2C#之类的东西正确定义了模型。

还要添加一个断点并检查ModelState控制器中的属性,这可能包含一些绑定错误和警告。