前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >win10 uwp 客户端如何发送类到 asp dotnet core 作为参数

win10 uwp 客户端如何发送类到 asp dotnet core 作为参数

作者头像
林德熙
发布2019-03-13 11:30:48
1.6K0
发布2019-03-13 11:30:48
举报
文章被收录于专栏:林德熙的博客

本文告诉大家如何在 UWP 或 WPF 客户端通过将类转换为 json 发送到 asp dotnet core 作为方法的参数

熟悉客户端开发的小伙伴在看到 asp dotnet core 会发现在使用的时候实际上只是在方法上面添加一个特性,这时通过 URL 访问的数据就会通过路由调用到这个方法,那么如何在客户端通过 URL 调用到方法在方法里面传入类参数?

假设有这样的一个类

代码语言:javascript
复制
    public class KebunerNeefunadrow
    {
        /// <summary>
        /// 包的名
        /// </summary>
        public string Name { get; set; }

        public string Version { set; get; }
    }

需要将这个类作为参数,发送到 asp dotnet core 的一个方法里面

代码语言:javascript
复制
        [HttpPost("Download")]
        public ActionResult Download([FromBody]KebunerNeefunadrow saljudecooBolor)

可以通过在客户端用 Json.NET 将类转换为 json 然后调用 URL 这样默认通过 json 转换的 asp dotnet core 就会将 json 转换为类,然后传入下载方法

这里的 asp dotnet core 的方法有两个要求,第一个是特性使用 Post 方法 [HttpPost("Download")] 这样就告诉 asp dotnet core 这个方法需要通过 Post 调用,同时这个方法的 URL 是 api/xx/Download 传入的参数同样有一个特性 [FromBody] 这个特性告诉 asp dotnet core 这个参数从 Post 的内容拿到

在客户端需要通过下面代码转换类为json才可以发送

代码语言:javascript
复制
            var kebunerNeefunadrow = new KebunerNeefunadrow()
            {
                Name = "lindexi",
                Version = new Version("5.1.2").ToString()
            };

            var json = JsonConvert.SerializeObject(kebunerNeefunadrow);

发送 Json 的方法可以通过 HttpClient 发送内容,发送的内容需要通过 ContentType 告诉服务器发送的是 json 才可以

代码语言:javascript
复制
            var stringContent = new StringContent(json);
            stringContent.Headers.ContentType.MediaType = "application/json";

特别注意,默认发送的是文本,需要通过 ContentType 修改为 json 才可以在服务器使用 json转换

通过 httpClient 发送的代码请看下面

代码语言:javascript
复制
            var json = JsonConvert.SerializeObject(kebunerNeefunadrow);

            var response = await httpClient.PostAsync(url, stringContent);

这样就可以在 UWP 或 WPF 客户端调用 asp dotnet core 的方法,在这个方法传入参数


本文会经常更新,请阅读原文: https://lindexi.gitee.io/post/win10-uwp-%E5%AE%A2%E6%88%B7%E7%AB%AF%E5%A6%82%E4%BD%95%E5%8F%91%E9%80%81%E7%B1%BB%E5%88%B0-asp-dotnet-core-%E4%BD%9C%E4%B8%BA%E5%8F%82%E6%95%B0.html ,以避免陈旧错误知识的误导,同时有更好的阅读体验。

本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接: https://lindexi.gitee.io ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请 与我联系

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云服务器
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档