欢迎光临散文网 会员登陆 & 注册

asp.net core web api 控制类定义技巧

2023-02-20 22:32 作者:大衣哥编程  | 我要投稿
  1. ation放在类的外部,例如:

       [Route("api/[controller]/[action]")]
        [ApiController]
        public class SystemInfoController : ControllerBase

    此种类型,则action对整个类起作用,路由访问的时候,action可被类的方法名代替:

    [Route("api/[controller]/[action]")]
        [ApiController]
        public class SystemInfoController : ControllerBase
        {
            // 请求方式为: http://localhost:7216/api/SystemInfo/Do1
            [HttpGet]
            public string Do1()
            {
                return "hello ";
            }

            // 请求方式为: http://localhost:7216/api/SystemInfo/Do2?id=def
            [HttpGet]
            public string Do2(string id)
            {
                return "hello: " + id;
            }

            // 请求方式为: http://localhost:7216/api/SystemInfo/Do3?id=def
            [HttpGet]
            public string Do3(string id)
            {
                return "good: " + id;
            }

    注意:..../方法名 + ? + 参数= 


2. [action]放在类的方法定义上面,则action 仅仅对该方法有效,如下:

[Route("api/[controller]")]

    [ApiController]

    public class SystemManagerController : ControllerBase

    {

        // 以下2个都是http get 方法,但是路由不同,分别为 api/SystemManager、api/SystemManager/1、api/SystemManager/ab/28

        [HttpGet]

        public string GetC()

        {

            return "hello world";

        }


        [HttpGet("{id}")]

        public string GetD(int id)

        {

            return "hello world 0:";

        }


        // 注意:[action] 既可以加在类外头部(对类起作用),也可以放在方法头上面(仅对该方法有用)

        // 方法外面[action]修饰,则访问方法为:http://localhost:5049/api/SystemManager/GetE/222

        [HttpGet("[action]/{id}")]

        public string GetE(int id)

        {

            return "hello world 00:" + id;

        }


        // 请求url:http://localhost:5049/api/SystemManager/GetF?id=985

        [HttpGet("[action]")]

        public string GetF(int id)

        {

            return "hello world 00:" + id;

        }



        [HttpGet("ab/{id}")]    // 注意:通过ab来区分路由,以便多个httpget得以调用

        public string GetDF(int id)

        {

            return "hello world 1: " + id;

        }


        [HttpGet("abc/{id}")]    // 注意:通过ab来区分路由,以便多个httpget得以调用

        public string GetDFG(int id)

        {

            return "hello world 2 :"+id;


        }

    }


3. 部分截图


asp.net core web api 控制类定义技巧的评论 (共 条)

分享到微博请遵守国家法律