【问题标题】:Why are no parameters passed in when I try to test my API with Postman?当我尝试使用 Postman 测试我的 API 时,为什么没有传入任何参数?
【发布时间】:2015-12-21 19:33:39
【问题描述】:

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

我的 Post 方法将 Object 作为参数。

 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 I made that Object o is null

对于键,我实际上是把字母 o 为了价值,我尝试了以下方法:

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

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

提前感谢您的帮助。

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

【问题讨论】:

  • 对不起,我不小心按了提交,还没有写完问题,写完后会再发表评论。
  • 现在我已经写完了这个问题。对此感到抱歉
  • 用户提琴手检查发布到服务器的内容。我的意思是检查发布请求的内容。链接 - telerik.com/fiddler
  • 您能告诉我们您的请求正文中的具体内容吗?默认情况下,它应该接受 JSON,也可能接受 XML。

标签: c# asp.net api post postman


【解决方案1】:

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

确保您确实在发送 POST 请求。听起来很可能找到了您的操作方法。

确保网址正确。和上面一样,听起来好像找到了你的操作方法。

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

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

【讨论】:

    猜你喜欢
    • 2021-08-14
    • 2019-12-04
    • 2023-04-10
    • 2022-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-25
    • 1970-01-01
    相关资源
    最近更新 更多