【发布时间】:2018-08-30 18:31:24
【问题描述】:
我正在通过 Angular 6 发布一些数据,但我的核心 API 不断返回空值:
请求:
{"id":0,"name":"test","weight":2,"frequency":2,"activityTypeModelId":3}
回复:
{id: 0, name: null, weight: 0, frequency: 0, activityTypeModelId: 0}
控制器:
[HttpPost("[action]")]
public IActionResult Add([FromForm]Model model)
{
return new JsonResult(model);
}
Angular,使用 HttpClient:
add(Model: model) {
return this.http.post(this.addUrl, model);
}
API 模型:
public class Model
{
[Key]
public int Id { get; set; }
[Required]
public string Name { get; set; }
[Required]
public int Weight { get; set; }
public int Frequency { get; set; }
public int ActivityTypeModelId { get; set; }
}
TS 型号:
export class Model{
id?: number;
name?: string;
weight?: number;
frequency?: number;
activityTypeModelId?: number;
}
当我使用 Postman 时,一切正常。我已经尝试过 [FromBody]。问题出在哪里?
【问题讨论】:
-
你的操作返回了一个名为
newCircumstance的东西,那是什么? -
您在浏览器的开发者控制台的网络选项卡中看到了什么?那边能看到
request body吗? -
当你闯入 C# 动作时是否填充了模型?当您查看浏览器开发工具时,提交的是什么?
-
@R.Richards ,粘贴后我忘记在此处更改该名称。我在编辑中更改了它。
-
@AmitChigadani 不,没有请求主体。
标签: c# angular asp.net-core