麻烦大佬看一下,路由几种不同写法的区别
net吧
全部回复
仅看楼主
level 2
pangares 楼主
前提:Controller中有同名方法“GetUserMessage“,其中第一个方法没写任何路由,使用Controller级别的路由
第二个方法的几种不同写法
1,[HttpGet("{usermessageId}",Name = nameof(GetUserMessage))]
正常
2,
[HttpGet(Name = nameof(GetUserMessage))]
[Route("{usermessageId}")]
报错,说路由重复
3,
[HttpGet]
[Route("{usermessageId}")]
正常
哪位大神能告知一下什么原理?
2020年06月19日 05点06分 1
level 2
pangares 楼主
没人回复……
2020年06月19日 07点06分 2
level 5
我觉得楼主把代码贴出来看看可能会好点,
HttpGet和HttpPost等特性已经包含了Route特性的功能
区别就是HttpGet和HttpPost等既指定了路由,又指定了请求方法,所以它们一般用来标识Action,而Route用来标识Controller
HttpGet和HttpPost等可以和Route一起使用,我记得一个Action可以有多个请求路由
另外需要注意一下,一个Action的访问路由是Controller的路由+Action路由得到的
而楼主说的那个报路由重复的异常,不一定是真的异常,可以试试能不能访问的到
2020年06月22日 06点06分 3
1