Blazor Server 发起HttpPost请求,但是多参数

一、介绍

今天突然想起之前工作上遇到的一个问题,在做Blazor 开发时后端给的一个接口请求方式是Post ,但是他需要携带多个参数,新建一个公共类又觉得麻烦,我就尝试着怎么在Post请求中携带多个参数,由于接触Asp .Net Core 的时间不够长,所以这些都不是太了解, 今天写下这篇文章做个记录,以免以后用到的时候忘记。如果有什么不对的地方,或者有更好的方法,大家可以在评论区发出来,大家一起学习。

二、代码实现

后台就写一个最简单的Post接口,参数暂且先填两个参数,同时这两个参数使用***FromForm***特性,表示这个数据是表单传过来的数据。

FromForm: 在Action方法传入参数后添加***FromForm***属性,参数将以表单【key:value对Array组】的形式提交。

csharp 复制代码
     [HttpPost]
     public async Task<ActionResult<string>> PostMultipleParameters([FromForm] int age, [FromForm] string name)
     {
         var form = $"age:{age},name:{name}";
         return Ok(form);

     }

同样,Blazor Server 也是写一个最简单的HttpPost请求,从后台的Swagger 可以看到,这个请求体是 multipart/form-data ,所以我们在请求的时候也需要创建一个相对应的正文,这里我们用MultipartFormDataContent类型来作为我们请求的正文。

csharp 复制代码
@code {
    protected override async Task OnInitializedAsync()
    {
        using (var httpClient = new HttpClient())
        {
            MultipartFormDataContent formDataContent = new();
            formDataContent.Add(new StringContent("LinSr"), "name");
            formDataContent.Add(new StringContent("80"), "age");
            await httpClient.PostAsync("http://localhost:5001/api", formDataContent);
        }
    }
}

当Blazor Server 程序运行起来,OnInitializedAsync方法被调用时,后台收到的请求数据如下,证明我们从Blazor Server 发起的HttpPost请求后台已收到。

三、总结

上述是Blazor Server 发起HttpPost请求携带多个参数的一个简单例子,方法应该还有很多种,但我始终相信学习是一个循序渐进的过程,现在自身能力有限,先从简单的开始吧,如果大家还有更好的方法,也望大家不吝赐教,在评论区发出来,大家一起学习。

相关推荐
淡海水2 小时前
02-07-原理篇-GC暂停时间的本质
开发语言·unity·c#·gc·暂停时间
小羊没烦恼!3 小时前
OS X 上使用.NET开发应用程序
开发语言·前端·数据库·人工智能·c#·策略模式
Behavior5 小时前
Unity 7.0 Alpha 拆解:编辑器干掉 Mono 换 CoreCLR
c#·unity3d·游戏开发
淡海水5 小时前
02-06-原理篇-增量式GC与并发GC
算法·unity·c#·并发·gc·增量
Vertira6 小时前
C# 函数封装成 DLL,
开发语言·c#
浅尝辄止;7 小时前
设计模式在HIS/LIS医疗系统中的完整实践指南(C#版)
开发语言·设计模式·c#
kimloner17 小时前
开源一个 376KB 的 Windows 桌面小工具:便签 + 截图标注 + OCR + 待办提醒(C# / WinForms)
windows·开源·c#·ocr·winforms
阿松爱学习18 小时前
【Unity开发】Aspose.PDF的使用
unity·pdf·c#
半亩码田18 小时前
C#转Python第4.8篇:正则表达式:Python re 模块 vs C# System.Text.RegularExpressions
python·正则表达式·c#
FPGA小徐19 小时前
【一生一芯 / PA】异常响应机制:RISC-V 中 ecall → mtvec → mret 的完整代
开发语言·数据库·c#