在一个Action中倘若想实现多种结果返回或者多种输入参数
就势必要能够支援多种路由模板
可能搭配不同权限身份会有不同路由网址
一个action配置多组路由模板
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace NetCoreApiTest1.Controllers
{
[Route("api/[controller]")]
[ApiController]
public class AccountController : ControllerBase
{
[Route("")] //api/account
[Route("/")] //api/account/
[Route("Users")]//api/account/users
public string Users()
{
return "users data...";
}
}
}
不透过Controller层级的路由模板一律下放给各组action设置路由
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace NetCoreApiTest1.Controllers
{
//[Route("api/[controller]")]
[ApiController]
public class AccountController : ControllerBase
{
[Route("Account")] //api/account
[Route("Account/")] //api/account/
[Route("Account/Users")]//api/account/users
public string Users()
{
return "users data...";
}
[Route("Users/{id}")]
[Route("Users/Get/{id}")]
public string GetUserById(string id)
{
return $"User Id: {id}";
}
}
}
Controller层级跟Action层级都有组合路由情况
已下面情况来讲就会共有六种路由模板的组合可以访问
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace NetCoreApiTest1.Controllers
{
[Route("Account")]
[Route("api/[controller]")]
[ApiController]
public class AccountController : ControllerBase
{
[Route("")]
[Route("UserList")]
[Route("GetUsers")]
public string Users()
{
return "users data...";
}
}
}
本篇已同步发表至个人部落格
https://coolmandiary.blogspot.com/2021/09/net-core-web-api11.html
今天一样是简单的 SLL、SRL、SRA 指令实作, 再一样为了 Code Stream Logge...
前言 前面两篇基础的介绍 React.createElemnt(),但实际再开发上很少真的直接写它,...
前一天我们讲到综合版可以接收所有种类的讯息。 @csrf_exempt def callback(r...
前言 物件 在 JS 是十分重要的,并且关於物件有几个满重要的特性: 物件传参考 物件深层/浅层 复...
工作中经常会遇到需要在客户端主机架站的情况, 如果客户端只有一台主机,手动布署或许不会花太多时间, ...