我正在一个项目 Core 2.2 API Project for Db Layer Web Project For Views
我可以从 API 读取数据但是我在发送数据以进行更新时遇到问题
代码
1- 从 Web 项目发送数据
[HttpPost]
public async Task<IActionResult> Edit(NationalityViewModel nationality )
{
LawyerAPI lawyerAPI = new LawyerAPI();
HttpClient httpClient = lawyerAPI.InitializeClient();
HttpResponseMessage res = await httpClient.PutAsJsonAsync("api/nofactory/updatenationality", nationality);
return View(nationality);
}
2-初始化客户端
private string _apiBaseURI = "http://localhost:57030";
public HttpClient InitializeClient()
{
var client = new HttpClient();
//Passing service base url
client.BaseAddress = new Uri(_apiBaseURI);
client.DefaultRequestHeaders.Clear();
//Define request data format
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
return client;
}
3- API
[Route("updatenationality")]
public IActionResult Put(NationalityViewModel nationality)
{
var nat=new Nationality();
nat.Name=nationality.Name;
nat.IsActive=nationality.IsActive;
nat.Id=nationality.Id;
_NationalityRepository.Update(nat);
return Ok();
}
问题是Web项目中的国籍变量有数据,当发送到API时它是空模型断点命中API方法但变量是空的
我认为问题是发送功能
谢谢
编辑澄清我添加了图像
您必须告诉框架从请求正文进行绑定。您可以通过NationalityViewModel
使用[FromBody]
属性注释参数来实现。
public IActionResult Put([FromBody] NationalityViewModel nationality)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句