如何解决我如何通过反射从方法获取路线URL
如何通过反射从方法获取路线(Url)。 从控制器和方法开始,如下所示:
[ApiController]
[Authorize]
[Route("api/events/[controller]")]
public class ApprovedWorksController : ControllerBase
{
...
[HttpPost]
public async Task<IEnumerable<ApprovedWorkResponse>> GetAsync(ApprovedWorkFilter filter)
{
...
}
}
收件人:
api/events/ApprovedWorks ...
解决方法
我用它来解决问题:
var routeAttribute = controller.GetCustomAttribute(typeof(RouteAttribute));
if (routeAttribute != null)
Console.WriteLine(((RouteAttribute) routeAttribute).Template.Replace("/[controller]","")
+ "/" + controller.Name.Replace("Controller","")
+ "/" + methodInfo.Name);
,
您不需要使用反射。您需要的关于 HTTP请求的所有信息都可以在Request
中找到,以下是屏幕快照,供您查看实际操作:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。