对于ASP.NET Core,C#和RESTful API,我非常。我现在正在尝试创建一个简单的练习应用程序,以练习不同的REST命令。我正在使用的“数据库”是具有名称,年龄和权重的对象的列表。
当前,我正在尝试实现POST方法。我可能会使用[FromQuery]来获取创建新对象并添加所需的数据。但是,我认为最好从FromBody访问它,尤其是如果我以后要添加更多字段时。
我不太了解/不知道我该如何向用户(??)填充/询问体内的数据。我想我知道,当调用URL时,它将解析页面/返回的.json正文中的内容,并以这种方式找到它,但是我不知道如何首先填充它。 / p>
到目前为止,这只是我的POST代码:
[HttpPost]
public ActionResult<List<Objects>> Post([FromQuery] String NewName, [FromQuery] int NewAge, [FromQuery] double NewWeight)
{
return MyList.AddItem(NewName, NewAge, NewWeight);
}
我很乐意描述它的工作方式或实现方式...谢谢!
答案 0 :(得分:1)
创建一个包含所有必需数据的模型
public class NewModel {
public String NewName { get; set; }
public int NewAge { get; set; }
public double NewWeight { get; set; }
}
更新操作以期望该数据并使用[FromBody]
[HttpPost]
public ActionResult<MyModelType> Post([FromBody] NewModel data) {
if (ModelState.IsValid) {
var model = MyList.AddItem(data.NewName, data.NewAge, data.NewWeight);
return model;
}
return BadRequest(ModelState);
}
然后,您的服务的使用者将在请求的正文中发布具有所需数据的请求,并且模型绑定器应在控制器操作中填充模型。