惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

N
Netflix TechBlog - Medium
I
InfoQ
Engineering at Meta
Engineering at Meta
Jina AI
Jina AI
Recent Announcements
Recent Announcements
T
The Blog of Author Tim Ferriss
P
Proofpoint News Feed
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
D
Docker
Microsoft Security Blog
Microsoft Security Blog
宝玉的分享
宝玉的分享
Last Week in AI
Last Week in AI
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
GbyAI
GbyAI
博客园 - Franky
博客园 - 聂微东
Microsoft Azure Blog
Microsoft Azure Blog
博客园 - 叶小钗
酷 壳 – CoolShell
酷 壳 – CoolShell
B
Blog RSS Feed
WordPress大学
WordPress大学
MyScale Blog
MyScale Blog
月光博客
月光博客
罗磊的独立博客

博客园 - 云飞扬IT

asp.net mvc 传参问题 在 ASP.NET Core 中使用 IHttpClientFactory 发出 HTTP 请求(官方文档) C# IConfiguration 注入 理解(AI) Error:(246, 5) error: resource android:attr/ttcIndex not found Android Gradle 插件版本与Gradle版本对应 flutter 水平Row示例 flutter Padding的用法 flutter解析json参考 java 三个类名 abstract extends implements flutter Vs code 快速创建2个状态的快捷代码 flutter分号还是逗号 flutter在线站点 windows 10 安装 sql 2005 安装失败 开发和常用工具推荐清单 ---转 ASP.NET MVC+EF框架+EasyUI实现权限管理系列(24)-权限组的设计和实现(附源码) ---转 【商业源码】生日大放送-Newlife商业源码分享 -转 我个人所有的独立博客wordpress都被挂马 .NET Web开发技术简单整理 转 程序员常用不常见很难得的地址大全转
C# webapi 参数(AI)
云飞扬IT · 2023-07-28 · via 博客园 - 云飞扬IT

在C# WebAPI中,参数是用于接收和处理HTTP请求中传递的数据的方式。WebAPI支持不同类型的参数,包括路由参数、查询字符串参数、请求体参数和标头参数。以下是一些常用的WebAPI参数类型:

  1. 路由参数(Route Parameters): 路由参数从URL的路径中提取值。在WebAPI中,通常使用路由模板来定义路由参数,并且通过在控制器的动作方法中声明参数来接收这些值。

csharp

[Route("api/products/{productId}")] public IHttpActionResult GetProduct(int productId) { // Code to retrieve product by productId }

  1. 查询字符串参数(Query String Parameters): 查询字符串参数是附加在URL末尾的参数,用于向服务器传递数据。在WebAPI中,可以通过在动作方法中声明参数,并用 [FromQuery] 特性标记来接收查询字符串参数。

csharp

public IHttpActionResult GetProducts([FromQuery] string category, [FromQuery] int page) { // Code to retrieve products by category and page number }

  1. 请求体参数(Request Body Parameters): 请求体参数通常用于POST或PUT请求中,数据以JSON或XML格式传递。在WebAPI中,可以通过在动作方法中声明一个复杂类型参数,并用 [FromBody] 特性标记来接收请求体参数。

csharp

public IHttpActionResult PostProduct([FromBody] ProductViewModel product) { // Code to create a new product using the data in the product object }

  1. 标头参数(Header Parameters): 标头参数是包含在HTTP标头中的数据。可以通过在动作方法中声明参数,并用 [FromHeader] 特性标记来接收标头参数。

csharp

public IHttpActionResult GetUserInfo([FromHeader] string authorization) { // Code to retrieve user information based on the authorization token }

  1. 表单数据(Form Data): 对于以 application/x-www-form-urlencodedmultipart/form-data 格式提交的表单数据,可以通过在动作方法中声明参数并使用 [FromForm] 特性标记来接收。

csharp

public IHttpActionResult PostFormData([FromForm] string name, [FromForm] string email) { // Code to process form data (name and email) }

这些是一些常用的WebAPI参数类型,你可以根据需要在控制器的动作方法中使用它们来接收客户端传递的数据。

在 C# Web API 中,参数是用于接收客户端请求传递的数据。Web API 控制器中的方法可以使用参数来获取这些数据,从而进行处理并返回响应。

以下是常见的 Web API 参数类型:

  1. 基本数据类型参数: 可以使用以下基本数据类型来接收客户端传递的简单数据,如整数、字符串、布尔值等。

    csharp

    public IHttpActionResult Get(int id) { // 处理请求,返回响应 }

  2. 复杂对象参数: 您可以定义自定义的类或使用模型类来接收客户端传递的复杂对象数据,这些数据通常以 JSON 格式传递。

    csharp

    public IHttpActionResult Post([FromBody] MyModel model) { // 使用 model 对象中的数据进行处理 }

  3. 查询字符串参数: Web API 也可以通过查询字符串接收参数。这些参数通常附加在 URL 的末尾,例如 api/products?id=123

    csharp

    public IHttpActionResult Get(int id) { // 使用 id 进行查询 }

  4. 路由参数: 路由参数是从 URL 中提取的参数,通常用于标识资源的唯一标识符或标识操作类型。

    csharp

    [Route("api/products/{id}")] public IHttpActionResult Get(int id) { // 使用 id 进行查询 }

  5. 可选参数: 您可以为 Web API 方法中的参数提供默认值,使其成为可选参数。

    csharp

    public IHttpActionResult Get(int id = 0) { // 如果未传递 id 参数,将使用默认值 0 }

  6. FromBody 和 FromUri 特性: 在接收复杂对象或从请求的正文中获取数据时,需要使用 [FromBody] 特性。而在获取查询字符串参数时,使用 [FromUri] 特性是可选的,因为它是默认行为。