Asp.net Webapi 的 Post 方法不能把参数加到 URL 中?试试这样写
1.看看 Asp.net core Webapi 项目如何优雅地使用分布式缓存2.Asp.net core Webapi 如何执行定时任务?3.试试这 6 个小技巧,提升 EF Core 性能4.C# 完美实现物联网 MQTT 数据通信
5.Asp.net Webapi 的 Post 方法不能把参数加到 URL 中?试试这样写
6.如何在 ASP.NET Core Web API 方法执行前后 “偷偷“ 作一些 “坏“ 事?初识 ActionFilterAttribute7.在 ASP.NET Core Web API 中使用异常筛选器捕获和统一处理异常8.操作筛选器的 1 个应用实例:自动启用事务9.并发请求太多,服务器崩溃了?试试使用 ASP.NET Core Web API 操作筛选器对请求进行限流10.一个简单的 ASP.NET Core 依赖注入例子,提高代码的可维护性和可扩展性11.由一个业务需求引发的对 ASP.NET 全局变量的调研及结果12.服务注册自治,降低 ASP.NET Core Web API 依赖注入的耦合度和复杂度13.ASP.NET Core 标识(Identity)框架系列(一):如何使用 ASP.NET Core 标识(Identity)框架创建用户和角色?14.ASP.NET Core 标识(Identity)框架系列(二):使用标识(Identity)框架生成 JWT Token15.ASP.NET Core 标识(Identity)框架系列(三):在 ASP.NET Core Web API 项目中使用标识(Identity)框架进行身份验证16.ASP.NET Core 标识(Identity)框架系列(四):闲聊 JWT 的缺点,和一些解决思路Restful 风格的 api 虽然规范了四个方法(Get
、Post
、Put
、Delete
)用于数据的查询、增加、修改和删除,但在实际应用中,还是会有很多公司只使用了 Get
和 Post
两个方法,查询数据使用 Get
方法,其它业务操作使用 Post
方法(为什么会有情况,以后可以写一篇文章讨论一下 _),但是 Post
方法一般通过 FromBody
标识进行传参,这样子有时候会显得 api 不太优雅,比如删除一条数据,通常会将要删除的数据的 ID 写在 URL 上,比如:
.../api/delete/1000
1000 就是要删除的数据的 ID,但是按正常的 Post 的写法则是:
.../api/delete
然后前端在参数部分单独写上要删除的数据的 ID,比如 {"id": 1000}
,这样就显得不够清晰明了。
如果使用 FromUri
标识传参,又会将 URL 变得很长,如:
.../api/delete?id=1000
那么,难道 Post 方法不能把参数加到 URL 中吗?
答案当然是否定的,因为这四个方法本质上是一样的,那么,要怎么写才能让 Post 方法把参数加到 URL 中呢?
其实很简单,像下面这么写就可以了 😃 :
- 在路由中使用
{xxx}
符号指定 URL 格式 - Post 方法中的参数采用普通方法的参数的形式即可
{xxx}
符号里 xxx 跟 Post 方法中的参数一致
代码示例:
[HttpPost] [Route("api/delete/{itemGuid}")] public IHttpActionResult Delete(string itemGuid) { _customerInfoService.Value.DeleteCustomer(itemGuid); return Ok(Success()); // NoContent(); }
这样,就可以使用 Post api/delete/1000
来删除数据了,api 是不是就显得很优雅呢?
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库