我在Angular上有一个post方法,可以将数据发送到服务器:
addData(usersId: number[], description?: string) {
const specUrl = HOST_URL + '/api/Doctors/addtoblacklist';
description = 'Test';
return this.http.post(specUrl, {
usersId, description
});
}
AspNet Core上有一个方法可以从客户端接收数据:
[HttpPost("addtoblacklist")]
public IActionResult AddToBlackList(int[] usersId, string description)
{
if (!int.TryParse(User.Identity.Name, out var doctorId))
{
return BadRequest(new { message = "Wrong claims" });
}
var status = _doctorService.AddToBlackList(usersId, doctorId);
return status ? (IActionResult)Ok() : BadRequest();
}
在调试中,当方法addData
工作时,我进入了方法AddToBlackList
,但是参数usersId
和description
始终为空。通常,当不同类型或不同名称的变量或者其中之一使用UpperCase时,就会发生这些问题。我已经尝试过的所有方法...通常我不明白问题可能是什么...也许有人有想法?我将非常感谢
答案 0 :(得分:0)
尝试:
return this.http.post(specUrl, {
usersId:usersId,
description:description
});
答案 1 :(得分:0)
我创建了一个模型
public class AddToBlackListModel
{
public int[] id { get; set; }
public string description { get; set; }
}
并用于[FromBody]
[HttpPost("addtoblacklist")]
public IActionResult AddToBlackList([FromBody] AddToBlackListModel creationModel)
{
//
if (!int.TryParse(User.Identity.Name, out var doctorId))
{
return BadRequest(new { message = "Wrong claims" });
}
var status = _doctorService.AddToBlackList(creationModel.id, doctorId);
return status ? (IActionResult)Ok() : BadRequest();
}
之后一切正常)谢谢大家