C#之Controller API 方法

HTLF / 2024-11-09 / 原文

普通类

namespace ApiDemo.Controllers
{
    public class DemoClass
    {
    }
}

配置api

  • 添加路径与方法
using Microsoft.AspNetCore.Mvc;

namespace ApiDemo.Controllers
{
    /// <summary>
    /// 1. 添加路径使用[]
    /// </summary>
    [Route("api/listApi")]
    public class DemoClass
    {
        /// <summary>
        /// 2. 添加一个get方法
        /// </summary>
        /// <returns></returns>
        [HttpGet]
        public IEnumerable<string> Get()
        {
            return new string[] { "value1", "value2" };
        }
    }
}

配置符合控制器类

  • 方式一:在class类名称后面添加Controllers 复数形式
using Microsoft.AspNetCore.Mvc;

namespace ApiDemo.Controllers
{
    /// <summary>
    /// 1. 添加路径使用[]
    /// </summary>
    [Route("api/listApi")]
    // 在class类名称后面添加Controller
    public class DemoClassController
    {
        /// <summary>
        /// 2. 添加一个get方法
        /// </summary>
        /// <returns></returns>
        [HttpGet]
        public IEnumerable<string> Get()
        {
            return new string[] { "value1", "value2" };
        }
    }
}
  • 方式二: 添加Controller属性
using Microsoft.AspNetCore.Mvc;

namespace ApiDemo.Controllers
{
    /// <summary>
    /// 1. 添加路径使用[]
    /// </summary>
    [Route("api/listApi")]
    // 添加Controller属性
    [Controller]
    public class DemoClass
    {
        /// <summary>
        /// 2. 添加一个get方法
        /// </summary>
        /// <returns></returns>
        [HttpGet]
        public IEnumerable<string> Get()
        {
            return new string[] { "value1", "value2" };
        }
    }
}
  • 方式三: 继承 Controller
using Microsoft.AspNetCore.Mvc;

namespace ApiDemo.Controllers
{
    /// <summary>
    /// 1. 添加路径使用[]
    /// </summary>
    [Route("api/listApi")]
    // 继承Controller类
    public class DemoClass:Controller
    {
        /// <summary>
        /// 2. 添加一个get方法
        /// </summary>
        /// <returns></returns>
        [HttpGet]
        public IEnumerable<string> Get()
        {
            return new string[] { "value1", "value2" };
        }
    }
}