![](/img/trans.png)
[英]I am not hitting my api route in backend controller from angular frontend. What am I doing incorrect?
[英]How can I assign json properties from my frontend to multiple backend models in my API?
我有一个 React 组件,可以像这样发布到 API 控制器:
onSubmit={async values => {
await new Promise(resolve => setTimeout(resolve, 500));
axios({
method: "POST",
url: "/educationalgames/api/acceptentry",
data: values
});
alert(JSON.stringify(values, null, 2));
}}
当我点击提交时,我会看到它找到的值:
{
"eligiblePlayers": [],
"teamName": "FalconOne",
"teamEmail": "fc@coma.edu",
"trainer": "",
"department": "Physics",
"researchType": "Meta",
"numOfStudents": 50,
"currentState": true
}
上面的数据是我的 c# 后端 API 中不同模型混合的属性。
teamName 、 teamEmail和trainer属于我的 team.cs 模型。
qualifiedPlayers , department属于department.cs 模型。
researchType 、 numOfStudents和currentState属于我的 research.cs 模型。
我的问题是,我不知道如何转换该数据,以便我的 API 控制器可以读取它并将正确的值分配给匹配的模型属性。
到目前为止,我的 c# 控制器中有这个:
[HttpPost]
public async Task<ActionResult> AcceptEntry([FromBody] ???)
我有点不知所措。
有办法吗?
谢谢!
teamName、teamEmail 和 trainer 属于我的 team.cs 模型。
qualifiedPlayers,department 属于department.cs 模型。
researchType、numOfStudents 和 currentState 属于我的 research.cs 模型。
为什么不在应用程序中创建通用模型?
public class CommonModel {
public string teamName {get; set;}
teamEmail,
eligiblePlayers,
department,
researchType,
numOfStudents,
currentState
}
然后,在您的控制器中:
[HttpPost]
public async Task<ActionResult> AcceptEntry([FromBody] CommonModel model) {
var team = new Team() {
teamName = model.teamName,
...
}
var department = new Department() {
eligiblePlayers = model.eligiblePlayers,
...
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.