是否存在使用ASP.NET核心以与大多数其他语言相同的方式进行标准嵌套路由的内置方式?如何在C#中实现我在Go和JS中显示的内容?
Go中使用chi的示例
r := chi.NewRouter()
r.Use(amiddleware) // Use some middleware
r.Group(func(r chi.Router) { // A group with further configuration
r.Use(another) // Middleware that only applies to group
r.Route("/trunk", func(r chi.Router) { // First level of a nested route
r.Route("/branch", func(r chi.Router) { // Next level
r.Get("/leaf", Leaf) // An endpoint
})
})
})
func Leaf(w http.ResponseWriter, r *http.Request) { ... }
http.ListenAndServe(":8080", r) // Start it up使用express的JS示例
const app = express()
app.use(amiddleware) // Use middleware
app.use(Router(). // A group with further configuration
use(another). // Middleware that only applies to group
use('/trunk', Router(). // First level of a nested route
use('/branch', Router(). // Next level
get('/leaf', leaf) // An endpoint
)
)
)
function leaf(req, res, next) { ... }
app.listen(8080) // Start it up发布于 2021-12-15 08:36:11
在asp.net核心中,您可以使用route.MapRoute规则。但我个人认为它比go语言的路由规则更麻烦。没有像杜松子和比我这样简单的框架。请参阅本文件:
有一种更简单的方法可以像这样设置路由:
[ApiController]
[Route("api/[controller]")]
public class HomeController : Controller
{
[HttpGet("{id}")]
public string Test(int id)
{
return "Test";
}
[HttpGet("test/{id:int}")]
public string Test1(int id)
{
return "Test1";
}
}测试网址:https://localhost:port/api/home/1
Test1 url:https://localhost:port/api/home/test/1
更多路由使用参考:
https://stackoverflow.com/questions/70355935
复制相似问题