我正在使用asp.net构建一个rest API我的问题是,当我尝试将学生添加到我的数据库时:
我得到“值变量为空”, 这是我添加学生的代码:
// Get All Students
[Route("api/Students")]
public IEnumerable<Student> Get()
{
return _StudentService.Queryable().ToList();
}
// Insert Student
[Route("api/Students/")]
public IEnumerable<Student> Post(Student value)
{
cc.Students.Add(value);
cc.SaveChanges();
return Get();
}
我使用“Fiddler web Debugger”来测试我的网址,它只能以这种方式运行:
现在如果我有一个试图将新学生添加到数据库的angularJS客户端,我该如何在URL中以json格式发送数据
这是我从我的客户angularJS添加新学生的方式:
$http({method: 'POST', url: 'http://localhost:50001/api/Students?&FirstName=cc&LastName=cc&Email=student10@gmail.com&DropOut=false&Live=false&ClassId=1&ImageId=1})
.success(function (data) {
console.log("success");
}).error(function (data, status, headers, config) {
console.log("data error ...");
});
非常感谢你的帮助
答案 0 :(得分:3)
如果你说你想要一个真正的Rest API,你应该继续使用POST动词,因为它在语义上更适合创建一个新学生。
可以在URL上传递新学生,但不能在您提供的配置中传递。 您的API方法需要POST请求,并且新学生位于HTTP正文中。
只需配置角度调用即可使用jsonData并将其发布到API。