Asp.net core中间件 ,处理http请求和响应的中间组件,对比起asp.net ,asp.net core 管道机制,可以说是帅气十足,简单直接。下面是通过中间件对一个请求的url 指定路由
- 新建webapi 项目
- Startup类中Configure方法中添加处理中间件代码如下
public void Configure(IApplicationBuilder app, IHostingEnvironment env) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } //指定特定请求url 的路由 app.Use(async (context, nextHandler) => { if (context.Request.Path == "/test") { context.Request.Path = "/api/values"; } await nextHandler(); }); app.UseMvc(); }
其中 "/api/values"是ValuesController下的路由,如下代码
[Route("api/[controller]")] public class ValuesController : Controller { // GET api/values [HttpGet] public IEnumerable<string> Get() { return new string[] {"value1", "value2"}; } }
实现功能只需几行代码,下面看下结果,用postman输入请求地址http://localhost:64651/test,结果是返回api/values下的结果,如下图
时间: 2024-08-08 09:30:29