ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

dotnet初探:用miniapi创建一个自己的url

2022-04-24 13:35:28  阅读:122  来源: 互联网

标签:miniapi MapGet url 创建 id 参数 dotnet hello


致谢

首先写在前面,非常感谢微软mvp桂素伟先生的技术分享,因为微软的文档大部分都如机器翻译般的生硬,让人难以读下去,正是他的无私分享为我的.net学习旅程提供了方向,非常感谢。如果大家对他比较感兴趣,可以直接关注微信公众号(桂迹)

创建url需要知道的必要知识

根据Http协议的规定,一般客户端/浏览器发送的请求大概分成四类:创建、删除、更新、读取,也就是post、get、put、delete四个方法,也有计算机网络学的不错的小伙伴会说:你为什么不说patch?其实这个和put的功能差不多,我为了简单就不说了。

创建一个自己的url

要创建一个url,我们可以直接使用Mapxxx方法,比如 MapPost() ,也可以用注解 [Route("url")] ,我为了简单,直接使用Mapxxx。

创建一个最简单url

MapGet('/hello',()=>"hello");

这里创建了一个网址/hello形式的url,它执行第二个参数里的匿名函数,如果访问这个url,浏览器会显示 hello 。

创建一个带参数的url

如果你写过表单,或者上百度时看到网址里面有一个?后跟着xxx=xxx这样的关键词,或许不明白是什么。其实很简单,就是一个参数,比如你填写的一个问卷就是这样的。
有时候我们也需要一个这样的参数,以便让api可以得到一个参数来进行操作,那要怎么实现呢?微软官方文档是直接用了一个直接传递值的方法,就像这样:

MapGet('/hello/{id}',(UUID id)=>"hello");

这样固然可以传递参数,但是缺点是比较混乱,我们难以操作。这时,可以使用 key=val 的方法来传递参数,微软也提供了相应的方法,我们只需要引用 Microsoft.AspNetCore.Mvc 命名空间即可。然后就可以使用FormContext类的注解了。
由于我们只需要传参,所以我使用了FormQuery注解,代码如下:

MapGet('/hello/{id}',([FormQuery(Name="id")] id)=>"hello");

还可以使用 FormHeader 从HTTP头传递参数:

MapGet('/hello/{id}',([FormHeader] id)=>"hello");

从body传递同理:

MapGet('/hello/{id}',([FormBod] id)=>"hello");

标签:miniapi,MapGet,url,创建,id,参数,dotnet,hello
来源: https://www.cnblogs.com/Delighted/p/16174849.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有