WebEnh

.net7 mvc jquery bootstrap json 学习中 第一次学PHP,正在研究中。自学进行时... ... 我的博客 https://enhweb.github.io/ 不错的皮肤:darkgreentrip,iMetro_HD
随笔 - 1079, 文章 - 1, 评论 - 75, 阅读 - 174万
  首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

C#复杂类型转为QueryString

Posted on   WebEnh  阅读(87)  评论(0编辑  收藏  举报

使用 visual studio 创建 webapi 项目,并添加 DefaultController.cs,代码如下

 public class DefaultController : ApiController
    {

        [HttpGet]
        [Route("HH")]
        public DefaultResponse HH([FromUri]DefaultRequest request)
        {
            return new DefaultResponse
            {
                ss = "iioppperer",
                ts = DateTime.Now
            };
        }
    }
    public class DefaultResponse
    {
        public string ss { get; set; }
        public DateTime ts { get; set; }
    }
    public class DefaultRequest
    {
        public DefaultRequestChild child { get; set; }
    }
    public class DefaultRequestChild
    {
        public int childid { get; set; }
        public string chidname { get; set; }

        public ChildType childs { get; set; }
    }
    public enum ChildType
    {
        HH,
        TT
    }

使用 nuget 添加 swagger, 并编译运行,在当前根 url 访问 /swagger,页面如下 输入图片说明

如红线部分参数,如果我们每次手动拼结,少了还好,如果 10 个以上,很容易拼错,也容易拼的心累,那么有没有好的办法呢,自己写?死脑细胞!直接用 nuget 里搜索 query string,发现如下 输入图片说明 github 地址:https://github.com/travelhubapi/csharp-qs 言归正传,使用 csharp-qs 生成 / HH 需要的参数

  var request = new 
            {
                child = new  { childid = 1, chidname = "SS", childs = (int)ChildType.TT }
            };
  var rs = QS.Stringify(request,"request");
  Console.WriteLine(rs);
输出结果 request.child.childid=1&request.child.chidname=SS&request.child.childs=1

好了,感谢作者的分享,我们用起来吧

相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
历史上的今天:
2016-08-18 【转】C# 中的委托和事件
2016-08-18 你知道C#中的Lambda表达式的演化过程吗
点击右上角即可分享
微信分享提示

喜欢请打赏

扫描二维码打赏

了解更多