将 ViewModel 发送到 API ASP.net Core 2

马赫哈利勒

我正在一个项目 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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将值从 Windows 窗体应用程序发送到 Asp.Net Core Api

如何将GET请求从Internet Explorer发送到Asp.Net Core API?

如何使用 fetch 将 FormData 从 javascript 发送到 ASP.NET Core 2.1 Web API

如何将2个对象发送到我的API(ASP.NET)?

将List <T>作为可选参数发送到ASP.NET Core Web Api中的帖子正文中

如何将多部分/表单数据发送到ASP.NET Core Web API?

如何将表单的数据发送到用Angular中的[FromForm]装饰的ASP.NET Core Web API操作?

ASP.NET Core 将数据从表发送到模态

ASP.NET Core 2.1 MVC使用XMLHttpRequest将数据从JavaScript发送到Action方法

将 JSON 字符串发送到 ASP.NET Core MVC 控制器

如何使用Signalr将消息发送到ASP.NET Core中的特定组?

如何将简单的值从axios.post发送到asp.net core?

如何使用 Axios 将多个文件发送到 ASP.NET Core 的控制器?

如何使用ASP.NET Core 3.0将数据从Controller发送到cshtml

如何将文件发送到列表-.NET Core Web API-邮递员

将图像从 ASP.NET Web API 发送到 Angular 客户端

ASP.NET Web API将复杂对象发送到前端

如何将JS对象的集合发送到ASP.NET API服务?

将 ASP.NET MVC HttpContext 发送到 Web Api HttpContext

如何使用angular将文件发送到asp.net Web API?

如何使用下拉列表将数据从视图发送到控制器 asp.net core 5 MVC

如何在ASP.NET Core中使用Ajax将表单发送到控制器?

如何将包含excel文件的表单数据发送到asp.net core中的控制器

如何从控制器将所有用户列表发送到asp.net Core 3中的视图

制作 jquery .ajax() 方法时,标头值不会发送到 ASP.NET Core API

使用数据创建重置密码链接并发送到电子邮件 ASP.NET Core Web-API

ASP .NET Core-将上载的文件作为多部分/表单数据发送到API端点

AngularJS $ http.post()将null发送到ASP.NET Web API控制器方法

使用 vanilla Javascript 将字符串列表发送到 ASP.net api 控制器