У меня есть проект ASP.Net Core и Angular. Я пытаюсь выполнить очень простую операцию: от публикации Angular формата данных JSON до внутреннего ASP.Net Core. Кажется, что поток работает, он вызывает правильное действие на бэкэнде, однако передача данных равна нулю. Ценю любую помощь, которую я могу получить. Спасибо
Во Front-End у меня есть простой Object, который содержит данные, а в конструкторе я преобразовал его в JSON. Я проверил, что при вызове http.post часть данных содержит информацию JSON. Таким образом, при вызове ниже jsonMessageFormat имеет правильную информацию.
this._http.post(this._baseUrl + 'fabAutomation/PostTest',
this.jsonMessageFormat, this.config).subscribe(result => {
this._returnedResult = result;
}, error => console.error(error));
В серверной части я попытался настроить действие PostTest для принятия обоих: 1. строка 2. Формат [FromBody] для преобразования из JSON вМодель
Ни одна, опция не сработала. А на Back-End Action полученные данные равны нулю.
На внешнем интерфейсе:
fabAutomationJsonMessage: any = [{ "maskID": "AAAA", "recipeName":
"XXXX", "JobTypeCduOrReg": "reg", "cduRevNumber": "0", "regRevNumber":
"0", "recipeState": null, "reticleAvailability": "eee", "dateTime":
"ddd" }];
jsonMessageFormat: JSON;
config: any = new HttpHeaders().set('Content-Type', 'application/json')
.set('Accept', 'application/json')
constructor(http: HttpClient, @Inject('BASE_URL') baseUrl: string)
{
this.jsonMessageFormat = <JSON>this.fabAutomationJsonMessage;
this._http = http;
this._baseUrl = baseUrl;
}
forSubmitOnClick() {
this._http.post(this._baseUrl + 'fabAutomation/PostTest',
this.jsonMessageFormat, this.config).subscribe(result => {
this._returnedResult = result;
}, error => console.error(error));
// На BackEnd:
// На контроллере определите следующее действие, fabAutomationMessageVMOBJ всегда равно нулю
[HttpPost("[action]")]
public IActionResult PostTest([FromBody] fabAutomationMessageVM
fabAutomationJsonMessageVMOBJ)
{
//removed implementation for simplicity
//for response simply return the same information
return Json(fabAutomationJsonMessageVMOBJ);
}
Поскольку весь поток работает, а http.post содержит данные в формате JSON (не ноль), я ожидаю, что эти данные будут передаваться на сервер как нуль-ноль.