Как правильно создать POST веб-API из сложного объекта или нескольких параметров с помощью Angular2?
У меня есть сервисный компонент в Angular2, как показано ниже:
public signin(inputEmail: string, inputPassword: string): Observable<Response> {
return this.http.post('/api/account/signin', JSON.stringify({ Email: inputEmail, Password: inputPassword}), this.options);
}
Целевая веб-api представлена ниже:
[HttpPost]
[Route("signin")]
public async Task<IActionResult> Signin(string email, string password)
{
....
}
Это не работает, потому что мне нужно преобразовать параметры веб-api в один объект класса POCO с атрибутами Email и Password и поместить атрибут [FromBody]: Signin([FromBody] Credential credential)
Без использования [FromURI]
(запросы POST с строками запроса?), как я могу создавать POST из нескольких параметров или сложных объектов без преобразования этих параметров в один класс POCO?
Потому что, если у меня есть несколько POST-действий Web API с такими параметрами, как (string sensitiveInfo1, string name, int sensitiveInfo2)
или (ClassifiedInfo info, string sensitiveInfo1, string sensitiveInfo2)
, мне нужно преобразовать их все в классы POCO и всегда использовать [FromBody]?
PS.
Я использовал RestangularJS
раньше, и он может размещать что-либо (mulitple примитивные объекты и сложные объекты) без моих действий веб-API с атрибутами [FromBody]
. Будут собираться исследовать, как RestangularJS это делает.