.NET API 中的 FromRoute、FromQuery、FromBody 用法

这篇具有很好参考价值的文章主要介绍了.NET API 中的 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 API 中的 FromRoute、FromQuery、FromBody 用法

Route 传参

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

示例

.NET API 中的 FromRoute、FromQuery、FromBody 用法

Body传参

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

示例

.NET API 中的 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 API 中的 FromRoute、FromQuery、FromBody 用法

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

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

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

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

相关文章

  • GPTs的创建与使用,自定义GPTs中的Actions示例用法 定义和执行特定任务的功能模块 通过API与外部系统或服务的交互

    Logo:自动生成 Name 介绍 Description 介绍 Instructions 要求或命令等 比如用中文回复,角色。 Knowledge 上传你的知识库,如果你有某一垂直行业的数据,基于数据来回答。比如我有某个芯片的指令集。 Capabilities 都要 Actions:就这个难以理解一点,下面详说含义用法。 Addtional Setting

    2024年02月04日
    浏览(31)
  • mingw64下动态库和静态库链接的真正区别和用法(详细)

    笔者一直以来都对mingw64下动态库和静态库链接的真正区别和用法存疑,于是做了一些测试,这篇文章记录了测试过程和测试结果,如果只想知道结果可以跳转到文章末尾 首先准备三个测试文件 其中add.c最终会被编译会静态库或动态库,被测试文件main.c调用 使用如下命令构建

    2024年02月05日
    浏览(28)
  • 跳转微信小程序短链接的API接口

    =\\\"ht tps://p http://ush.youlacloud.com/\\\"怎么从网页跳转一键跳转到微信小程序? 发送短信,用户点击链接,直达微信小程序? 如何抖音跳转微信小程?淘宝跳转微信小程? 等等类似的应用,都需要是借助 将微信小程序生成一般的链接,用户通过点击链接直接进入小程序。 复制发短

    2024年02月15日
    浏览(42)
  • .NET的AsyncLocal用法指南

    通过 AsyncLocal 我们可以在一个逻辑上下文中维护一份私有数据,该上下文后续代码中都可以访问和修改这份数据,但另一个无关的上下文是无法访问的。 无论是在新创建的 Task 中还是 await 之后,我们都能够访问前面设置的 AsyncLocal 的数据。 输出结果: AsyncLocal 的实际

    2024年02月10日
    浏览(26)
  • javax.net.ssl.SSLHandshakeException:(HTTPS绕过安全认证进行请求链接)

    1、问题: 在使用jsoup爬取数据时,碰到了使用https的网站,遇到报错:javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path validation failed: java.security.cert.CertPathValidatorException: validity check failed 2、解决 后自己在网上查了一些资料,找到相关解决代码: 3、方法调用  

    2024年02月08日
    浏览(33)
  • .Net 里面WhenAll的解释和用法

    在.NET中,WhenAll 是一个与异步编程相关的扩展方法,它属于 System.Threading.Tasks 命名空间下的 TaskExtensions 类。这个方法主要用于处理一组 Task 对象,并等待它们全部完成。当所有任务都完成时,WhenAll 将返回一个包含所有任务结果的 TaskTask[] 对象。 解释 WhenAll 方法用于并行执行

    2024年04月15日
    浏览(33)
  • openai的API用法

      import openai   openai.api_key = \\\"OPENAI_API_KEY\\\"   response = openai.Completion.create(   model=\\\"模型的名称\\\",   prompt=\\\"询问的内容\\\",   temperature=0,   max_tokens=100,   top_p=1,   frequency_penalty=0.0,   presence_penalty=0.0,   stop=[\\\"停止的命令字符\\\"] ) OpenAI API 有几种不同的接口,具体的参数依赖于您选择的接

    2023年04月08日
    浏览(20)
  • 【.NET全栈】.net的微软API接口与.NET框架源码

    如果浏览器打不开链接,换一个浏览器打开。 我是 打不开微软的链接,使用: 可以打开!!! https://docs.microsoft.com/zh-cn/dotnet/api/?view=netframework-4.8 https://docs.microsoft.com/zh-cn/dotnet/api/system.windows.forms?view=netframework-4.8 .Net Framework的源码可以从这里下载: https://referencesource.microso

    2024年02月04日
    浏览(28)
  • 【ASP.NET Core】MVC过滤器:常见用法

    前面老周给大伙伴们演示了过滤器的运行流程,大伙只需要知道下面知识点即可: 1、过滤器分为授权过滤、资源访问过滤、操作方法(Action)过滤、结果过滤、异常过滤、终结点过滤。上一次咱们没有说异常过滤和终结点过滤,不过老周后面会说的。对这些过滤器,你有印

    2024年02月05日
    浏览(35)
  • Unix/Linux 中的软链接和硬链接

    UNIX 中的链接是指向文件的指针。与任何编程语言中的指针一样,UNIX 中的链接是指向文件或目录的指针。创建链接是一种访问文件的快捷方式。链接允许多个文件名在别处引用同一个文件。 有两种类型的链接: 软链接或符号链接 硬链接 当链接的源(链接到的内容)被移动

    2024年02月04日
    浏览(27)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包