当前位置 : 主页 > 网络编程 > 其它编程 >

如何在.netCore3中设置隐式路由

来源:互联网 收集:自由互联 发布时间:2023-07-02
如何隐式定义路由?例如,我有一个名称为TodoController的控制器,其中有一些操作 如何隐式定义路由?例如,我有一个名称为TodoController的控制器,其中有一些操作,例如“添加”,“获
如何隐式定义路由?例如,我有一个名称为TodoController的控制器,其中有一些操作

如何隐式定义路由?例如,我有一个名称为TodoController的控制器,其中有一些操作,例如“添加”,“获取”,“保存”。而且,我不想为每个控制器都指定“路由属性”。

这是我的代码:

public class TodoController : ControllerBase{ [HttpPost] public IactionResult New() { return Ok(); } [HttpGet] public IactionResult Prova() { return Ok(); }

这是我的startup.cs

if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } app.UseHttpsRedirection(); app.UseRouting(); app.UseAuthorization(); app.UseEndpoints(endpoints => { endpoints.MapControllers(); });


我的研究结果。

您可以使用两种类型的路由。

1。

services.AddMvc(option => option.EnableEndpointRouting = false).SetCompatibilityVersion(CompatibilityVersion.Version_3_0);app.UseMvc(routes =>{ routes.MapRoute( name: "default",template: "{controller}/{action}",defaults: new { cOntroller= "Home",action = "Index" } );});

`

2。

services.AddControllers(); services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_3_0);app.UseEndpoints(endpoints =>{ endpoints.MapControllerRoute( name: "default",pattern: "{cOntroller=Home}/{action=Index}/{id?}");});

两个变体都具有Rout属性,但是没有他就没有变体。

【文章出处:香港站群服务器 http://www.558idc.com/hkzq.html 复制请保留原URL】
上一篇:goggg
下一篇:没有了
网友评论