HTLF

一步一个脚印,走出高度...

导航

C#之Controller API 方法

普通类

namespace ApiDemo.Controllers
{
    public class DemoClass
    {
    }
}

配置api

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

namespace ApiDemo.Controllers
{
    /// <summary>
    /// 添加路径使用[]
    /// </summary>

    // 方式1:
    [Route("api/[controller]/[action]")]  // 不需要指定,可以自动识别
     // 例如:[HttpPost] 或  [HttpGet]

    // 方式2: 
    [Route("api/listApi")]  // 注意这里没有配置action。在方法中需要指定action
    // 例如:[HttpPost("GetAddUserList")] 或  [HttpGet("GetDeleteUser")]

    // 方式3:指定控制器名称 “listApi”
    [Route("api/listApi/action")] 

    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" };
        }
    }
}


posted on 2024-10-22 20:33  HTLF  阅读(24)  评论(0编辑  收藏  举报