我尝试在从角度9到.NET API控制器的POST中使用多个参数
我得到错误JSON值无法转换为Newtonsoft.JSON.Linq.JToken
发送请求时,将这些参数从angular 9传递到我的http帖子
来自:
return this.http.post<any>(environment.apiUrl + 'api/Partners/',partner : partner);
至
return this.http.post<any>(environment.apiUrl + 'api/Partners/',{partner : partner,manager : manager});
对.NET控制器使用以下代码
[HttpPost]
public async Task<ActionResult<int>> PostPartner([FromBody] JObject body)
{
Partner partner = body["partner"].ToObject<Partner>();
User manager = body["manager"].ToObject<User>();
...
J使用Newtonsoft.Json.Linq的对象
我知道我可以使用System.text.json,但我找不到任何适合我的函数后签名的例子
感谢的任何帮助
感谢
您应该能够使用一个模型类,而不是使用Newtonsoft.Json.Linq.JObject
,它应该同时包含Partner
和User
属性,如:
public class PostPartnerModel
{
public Partner Partner { get; set; }
public User Manager { get; set; }
}
让你的行动像:
[HttpPost]
public async Task<ActionResult<int>> PostPartner([FromBody] PostPartnerModel model)
{
Partner partner = model.Partner;
User manager = model.Manager;
...