为什么当我尝试使用 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
为了价值,我尝试了以下方法:
- 新对象 (3,"Test")
- (3, "test")
- 我什至尝试更改整个代码,使我的 Post 方法采用 2 个参数 int 和 string,然后创建自己的对象。
我认为这只是 Postman 语法的问题,但如果更多,我已经把我所有的代码都放上去了。
在此先感谢您的帮助。
编辑:我的 class 名称和我的控制器实际上并不叫 "Object"。这可能会引起一些混淆,因为这是一个保留字。我试图使代码更具可读性。让我知道这是否令人困惑,我将对其进行编辑。
如果不知道您的请求正文是什么样子以及您有多少邮递员,就很难真正确切地知道您缺少什么。根据我从你的问题中得到的信息,我创建了邮递员的屏幕截图并标记了几个地方供你仔细检查。
确保您确实发送了 POST 请求。看起来很有可能,因为听起来您的操作方法已找到。
确保 URL 正确。同上,看起来很有可能,因为听起来您的操作方法已找到。
确保您的正文有效 JSON 并且以 JSON 的形式发送。即设置内容类型为application/json.
正如 Sandeep Kushwah 指出的,通过 Fiddler 检查实际请求可能是个好主意。
我使用 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 为了价值,我尝试了以下方法:
- 新对象 (3,"Test")
- (3, "test")
- 我什至尝试更改整个代码,使我的 Post 方法采用 2 个参数 int 和 string,然后创建自己的对象。
我认为这只是 Postman 语法的问题,但如果更多,我已经把我所有的代码都放上去了。
在此先感谢您的帮助。
编辑:我的 class 名称和我的控制器实际上并不叫 "Object"。这可能会引起一些混淆,因为这是一个保留字。我试图使代码更具可读性。让我知道这是否令人困惑,我将对其进行编辑。
如果不知道您的请求正文是什么样子以及您有多少邮递员,就很难真正确切地知道您缺少什么。根据我从你的问题中得到的信息,我创建了邮递员的屏幕截图并标记了几个地方供你仔细检查。
确保您确实发送了 POST 请求。看起来很有可能,因为听起来您的操作方法已找到。
确保 URL 正确。同上,看起来很有可能,因为听起来您的操作方法已找到。
确保您的正文有效 JSON 并且以 JSON 的形式发送。即设置内容类型为application/json.
正如 Sandeep Kushwah 指出的,通过 Fiddler 检查实际请求可能是个好主意。