Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

c#webapi

作者:Angel★狂龙   发布日期:2025-05-10   浏览:59

// 创建一个简单的 C# Web API 示例

using Microsoft.AspNetCore.Mvc;

namespace WebApiExample.Controllers
{
    [ApiController]
    [Route("api/[controller]")]
    public class ValuesController : ControllerBase
    {
        // GET api/values
        [HttpGet]
        public ActionResult<IEnumerable<string>> Get()
        {
            // 返回一个字符串数组作为响应
            return new string[] { "value1", "value2" };
        }

        // GET api/values/5
        [HttpGet("{id}")]
        public ActionResult<string> Get(int id)
        {
            // 根据提供的 ID 返回一个字符串
            return "value";
        }

        // POST api/values
        [HttpPost]
        public void Post([FromBody] string value)
        {
            // 处理 POST 请求并接收 JSON 格式的字符串数据
        }

        // PUT api/values/5
        [HttpPut("{id}")]
        public void Put(int id, [FromBody] string value)
        {
            // 处理 PUT 请求并更新指定 ID 的资源
        }

        // DELETE api/values/5
        [HttpDelete("{id}")]
        public void Delete(int id)
        {
            // 处理 DELETE 请求并删除指定 ID 的资源
        }
    }
}

解释说明:

  1. 命名空间和类

    • ValuesController 类继承自 ControllerBase,这是 ASP.NET Core 中用于创建 API 控制器的基础类。
    • [ApiController][Route("api/[controller]")] 是属性,分别表示这是一个 API 控制器,并定义了默认的路由模板。
  2. HTTP 方法

    • [HttpGet]:处理 HTTP GET 请求。返回一个字符串数组。
    • [HttpGet("{id}")]:处理带有参数的 GET 请求,根据提供的 id 返回一个字符串。
    • [HttpPost]:处理 HTTP POST 请求,接收 JSON 格式的字符串数据。
    • [HttpPut("{id}")]:处理 HTTP PUT 请求,更新指定 id 的资源。
    • [HttpDelete("{id}")]:处理 HTTP DELETE 请求,删除指定 id 的资源。
  3. 返回类型

    • ActionResult<T> 是一个灵活的返回类型,可以返回不同类型的结果(如 JSON、视图等)。这里我们使用它来返回字符串或字符串数组。
  4. 请求体绑定

    • [FromBody] 属性用于将请求体中的数据反序列化为方法参数。例如,POST 和 PUT 请求中接收到的 JSON 数据会自动转换为 C# 字符串。

这个示例展示了如何创建一个基本的 C# Web API,包含常见的 HTTP 方法和简单操作。

上一篇:c# eventargs

下一篇:c# 字典排序

大家都在看

c# 二进制

c# tcp client

c# type.gettype

c# sqlconnection

.net和c#

c#游戏开发

c#网络编程

c# rectangle

c# if else

c# rtsp

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站