所以我必须制作这个函数。以前的所有功能都是以类似的方式制作的:
[Route("MemberInfo"), HttpPost]
public IHttpActionResult ArrayTest([FromBody]Member member)
{
using (var db = new DBContext())
{
var member = db.Members.Where(m => m.email == loginForm.email).FirstOrDefault();
if (member != null)
{
return Ok(new { success = true, message = member });
}
else
{
return Json(new { success = false, message = "Invalid email or password" });
}
}
}
举个例子,这个函数中有更多的代码行,但这只是我如何编写它们的一个例子。
我使用谷歌的高级REST客户端来确保我的所有功能都能正常工作。对于MemberInfo,我点击POST选项,内容类型为application/json:
{
email: "blahblah@gmail.com",
password: "123456789"
}
我得到了我所有的信息。
这些功能被另一个正在创建我的iPhone应用程序的开发人员使用。我正在创建一个推荐朋友的功能。
我创建了一个小测试,看看无限参数是如何工作的(以防有多封引用的电子邮件):
[Route("ArrayTest"), HttpPost]
public IHttpActionResult ArrayTest(params string[] emails)
{
string emailSentence = "";
for (Int32 i = 0; i < emails.Length; i++ )
{
emailSentence += emails[i] + ", ";
}
return Ok(new { success = true, emails = emailSentence });
}
我在输入参数时遇到问题,我该怎么做?
我试着这样做:
{
("hello", "buhbye", "ella")
}
它说"{"对象引用没有设置为对象的实例。"}"
这不是有效的JSON。您可以通过jsonlint.com 来验证您的请求
试试这个,将电子邮件作为数组发布
{
"emails": [
"hello",
"buhbye",
"ella"
]
}