为什么当我尝试使用 Postman 测试我的 API 时没有传入参数?

Why are no parameters passed in when I try to test my API with Postman?

我使用 Microsoft Visual Studio 2012 MVC 4 ASP.NET C# 构建了一个简单的 WEB API。 我正在尝试测试我的 POST 请求方法是否有效。

我的Post 方法将对象作为参数。

 public class Object
    {
        [Key]
        public int ID{ get; set; }
        public string Name { get; set; }


        public Object()
        {

        }
        public Object(int i, string n)
        {
            ID = i;
            Name = n;
        }
    }
}

在我的 ObjectController 中我有这个:

// POST api/Object
        public HttpResponseMessage PostObject (Object o)
        {
            if (o == null)
                throw new NullReferenceException("Nothing is being passed in");

            return HelperFunction.Post(o);
            //HelperFunction class not shown. Post method is static.
        }

现在,当我尝试使用 Postman 来测试它时,我不断收到 Null Reference Exception 对象 o 是 null

对于key,我直接把字母o 为了价值,我尝试了以下方法:

  1. 新对象 (3,"Test")
  2. (3, "test")
  3. 我什至尝试更改整个代码,使我的 Post 方法采用 2 个参数 int 和 string,然后创建自己的对象。

我认为这只是 Postman 语法的问题,但如果更多,我已经把我所有的代码都放上去了。

在此先感谢您的帮助。

编辑:我的 class 名称和我的控制器实际上并不叫 "Object"。这可能会引起一些混淆,因为这是一个保留字。我试图使代码更具可读性。让我知道这是否令人困惑,我将对其进行编辑。

如果不知道您的请求正文是什么样子以及您有多少邮递员,就很难真正确切地知道您缺少什么。根据我从你的问题中得到的信息,我创建了邮递员的屏幕截图并标记了几个地方供你仔细检查。

确保您确实发送了 POST 请求。看起来很有可能,因为听起来您的操作方法已找到。

确保 URL 正确。同上,看起来很有可能,因为听起来您的操作方法已找到。

确保您的正文有效 JSON 并且以 JSON 的形式发送。即设置内容类型为application/json.

正如 Sandeep Kushwah 指出的,通过 Fiddler 检查实际请求可能是个好主意。