猿问

API无法从HttpClient获取参数

我不确定为什么无法将数据从正文传递到API?


以下是随附的代码。在调试中,API补丁方法的确会命中,但是所有属性均为空/空。


我可以使用Fiddler验证API是否正常工作。因此,我必须在Angular HttpClient中缺少一些东西。


API:


[HttpPatch]

public async Task<IActionResult> Update([FromBody]MyParameters parameters)

{

// Do Stuff

}

我的参数


public class MyParameters

    {

        public Guid Id { get; set; }


        [Required]

        public string Name { get; set; }


        [Required]

        public string Value { get; set; }


    }

打字稿


headers = new HttpHeaders().set("Content-Type", "application/json");


  updateItem(myItem: MyItem) {

    let body = JSON.stringify(myItem);

    console.log(body);


    return this.http      

      .patch(this.ApiUri,

        {

          "Id": myItem.Id,

          "Name": myItem.Name,

          "Value": myItem.Value

        }, { headers: this.headers })

      .catch(this.handleError);

  };


慕标5832272
浏览 257回答 2
2回答

慕婉清6462132

对于遇到相同问题的任何人。我能够通过以下方式解决它:&nbsp; &nbsp; let body = JSON.stringify(myItem);&nbsp; &nbsp; const options = {&nbsp; &nbsp; &nbsp; &nbsp; headers: new HttpHeaders({ 'Content-Type': 'application/json' }),&nbsp; &nbsp; &nbsp; };&nbsp; &nbsp; return this.http&nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp; .patch(this.ApiUri, body, options)&nbsp;&nbsp;&nbsp; &nbsp; &nbsp; .catch(this.handleError);
随时随地看视频慕课网APP
我要回答