为什么通过API方法将数据从客户端传输到服务器时,参数不初始化?



我在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,但参数usersIddescription始终为空。通常,这些问题发生在不同类型或不同名称的变量,或其中一个使用UpperCase时。所有这些我都试过了。。。一般来说,我不明白可能是什么问题…也许有人有一些想法?我将非常感谢

试试这个:

return this.http.post(specUrl, {
usersId:usersId, 
description:description
});

我创建了一个模型

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();
}

之后一切都起作用了(谢谢大家(

相关内容

最新更新