.NET WebAPI 基础 FromRoute、FromQuery、FromBody 用法

这篇具有很好参考价值的文章主要介绍了.NET WebAPI 基础 FromRoute、FromQuery、FromBody 用法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

原文链接:https://www.cnblogs.com/ysmc/p/17663663.html

  最近技术交流群里,还有不少小伙伴不知道 FromRoute、FromQuery、FromBody 这几个特性是怎么使用的,也不清楚它们之间的区别在哪里,特意写下这个文章,希望可以帮助到迷茫的小伙伴。

在API开发过程中,我们先要确定我们的接口是干嘛的,获取请求数据用 GET,上传使用 POST,修改使用 PATCH,删除是 DELETE,通常使用这4个就足够了。

  接着下一步,就是参数放在哪了,通常:

  (1)GET请求的参数,是以url?xxx=value1&xxx=value 这样的方式进行传参;

  (2)POST、PATCH,则是放在 body里,当然也可以放在form中;

  (3)而所有的请求方式,都是支持通过 url 传参的,包括通过 route 传参;

  好久没写文档了,都不知道怎么写了,还是直接上代码吧;

  我们新建一个API工程,过程我就不演示了;建一个Controller,我这里起名为 MethodsController;还需要建一个接收参数的实体类,当然也可以不使用实体类,个人建议是使用;

实体类

public class Parameter
{
    public string? Method { get; set; }

    public string? Value { get; set; }
}

Url 传参

[HttpGet]
public async Task<Parameter> GetQueryAsync([FromQuery] Parameter query)
{
    return await Task.FromResult(query);
}

示例

.NET WebAPI 基础 FromRoute、FromQuery、FromBody 用法

Route 传参

[HttpGet("{method}/{value}")]
public async Task<Parameter> GetRouteAsync([FromRoute] Parameter route)
{
    return await Task.FromResult(route);
}

示例

.NET WebAPI 基础 FromRoute、FromQuery、FromBody 用法

Body传参

[HttpPost]
public async Task<Parameter> PostAsync([FromBody] Parameter body)
{
    return await Task.FromResult(body);
}

示例

.NET WebAPI 基础 FromRoute、FromQuery、FromBody 用法

 混合

[HttpPatch("{method}/{value}")]
public async Task<Dictionary<string, Parameter>> PatchAsync(
    [FromRoute] Parameter route,
    [FromQuery] Parameter query,
    [FromBody] Parameter body)
{
    var result = new Dictionary<string, Parameter>()
    {
        ["route"] = route,
        ["query"] = query,
        ["body"] = body
    };

    return await Task.FromResult(result);
}

示例

.NET WebAPI 基础 FromRoute、FromQuery、FromBody 用法

   写得不好,手生了,大家有什么想了解的欢迎在评论区留言,我也需要多练练手【手动狗头】,什么时候博客园可以加个表情功能啊!文章来源地址https://www.toymoban.com/news/detail-680390.html

到了这里,关于.NET WebAPI 基础 FromRoute、FromQuery、FromBody 用法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • .Net WebAPI知识汇总

    Web API(Web Application Programming Interface) 的历史可以追溯到Web服务的起源,Web服务最早出现在1990年代中期。Web服务是一种基于标准Web协议的应用程序接口,使不同的应用程序和平台可以互相交互和通信。最早的Web服务采用SOAP(Simple Object Access Protocol)协议,它使用XML作为消息格

    2024年02月03日
    浏览(29)
  • 基于.NET6搭建WebAPI项目

     点击运行后自动打开浏览器,看到如下信息: 系统启动日志如下: 此数据对用户不友好。 nuget安装  Microsoft.AspNetCore.Mvc.NewtonsoftJson   安装成功:  只需要在Program.cs 文件下添加几行代码 找到 builder.Services.AddControllers()   代码如下:  测试结果如下: 打开Xml文件生成,右键

    2023年04月08日
    浏览(48)
  • .Net Core 6 WebApi 项目搭建(二)

    书接上文,上文写了个简单的.net core api程序创建流程,今天来写一下简单项目搭建步骤。 我们这里还是使用Autofac容器,具体使用教程可参考文章《.NET Core基础知识-依赖注入(Autofac)》这篇文章介绍的比较详细了。下面我说一下在.net core6里是怎么创建注入的。 1、Autofac在

    2024年02月08日
    浏览(59)
  • VSCode开发ASP.NET WEBAPI环境

    1.WINDOWS10系统WSL2安装Oracle Linux 7.9子系统(包含DOCKER以及使用DOCKER部署MYSQL-8.3.0) (1)在管理员的Windows PowerShell执行命令(打开“适用于Linux的Windows子系统”) dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart (2)在管理员的Windows PowerShell执行命令(打开“虚拟

    2024年04月27日
    浏览(33)
  • .NET WebAPI 运用JWT鉴权授权

    1:引用需要的程序集 :System.IdentityModel.Token.JWT 2:创建一个新的控制器,用于授权功能 3:服务中进行注册 4:启动鉴权授权 5:在需要的鉴权授权的API  中调用 6:发送请求接口时候  请求头 {Authorzation:\\\"bearer\\\"+空格 + token}

    2024年02月14日
    浏览(35)
  • ASP.NET WebApi 极简依赖注入

    .NET Core 7.0 ASP.NET Core Visual Studio 2022 .Net Core WebApi Redis消息订阅 ASP.NET Core 依赖注入最佳实践 简单来说就是 有效地设计服务及其依赖关系。 防止多线程问题。 防止内存泄漏。 防止潜在的错误。

    2024年02月08日
    浏览(44)
  • .net 温故知新【14】:Asp.Net Core WebAPI 缓存

    缓存指在中间层中存储数据的行为,该行为可使后续数据检索更快。 从概念上讲,缓存是一种性能优化策略和设计考虑因素。 缓存可以显著提高应用性能,方法是提高不常更改(或检索成本高)的数据的就绪性。 在最新的缓存控制规范文件RFC9111中,详细描述了浏览器缓存和

    2024年02月05日
    浏览(62)
  • .Net初学 创建一个巨简单的.Net7 WebApi后端框架

    visual studio 2022 以下简称vs    Visual Studio安装指南_visual studio安装教程_技术人小柒的博客-CSDN博客 sqlserver 2022 以下简称mssql        SQL Server2022 Express和SSMS下载安装教程(超详细) (baidu.com) redis Redis下载安装图文教程(Windows版_超详细)_windows redis下载_Leeway啊樺的博客-CSDN博客

    2024年02月21日
    浏览(41)
  • .NET Core WebAPI中封装Swagger配置

    创建一个Utility/SwaggerExt文件夹,添加一个类 在SwaggerExt类中添加方法,将相关配置添写入 调用封装的方法

    2024年02月20日
    浏览(43)
  • ASP.NET Core SingleR Core:WebApi + .net 客户端开发

    我之前稍微研究了一下SignalR Core。用起来还行。简单来说SignalR就是用来解决实时通讯的问题的。 ASP.NET Core SingleR:初次体验和简单项目搭建 SignalR支持三种客户端,C#,Java,JavaScirpt。基本够用了。本身就是微软开发的,肯定支持自己的语言。因为是Websocket的上层封装,所以也要支

    2024年01月20日
    浏览(134)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包