Program ASP.NET Core domyślnie używa tras CamelCase, takich jak http://localhost:5000/DashboardSettings/Index. Ale chcę używać małych liter, które są ograniczane myślnikami: http://localhost:5000/dashboard-settings/index Są bardziej powszechne i spójne, ponieważ moja aplikacja rozszerza stronę internetową z Wordpress, która ma również małe adresy z myślnikami.Automatyczne generowanie małych przerywanych tras w środowisku ASP.NET Core
dowiedziałem się, że mogę zmienić adres URL na małe litery przy użyciu routingu-options:
services.ConfigureRouting(setupAction => {
setupAction.LowercaseUrls = true;
});
To działa, ale dał mi adresy URL bez ogranicznika jak http://localhost:5000/dashboardsettings/index które są źle odczytać. Mogłabym zdefiniować trasy niestandardowe przy użyciu atrybutu trasy, np.
[Route("dashboard-settings")]
class DashboardSettings:Controller {
public IActionResult Index() {
// ...
}
}
Ale to powoduje dodatkową pracę i jest podatne na błędy. Wolałbym automatyczne rozwiązanie, które wyszukuje wielkie litery, wstawia przed nimi kreskę i tworzy małe litery wielkimi literami. Dla starego ASP.NET nie był to duży problem, ale na Core ASP.NET nie widzę żadnego kierunku, jak sobie z tym poradzić.
Co w tym przypadku zrobić? Potrzebuję jakiegoś interfejsu, w którym będę mógł generować adresy URL (np. Dla pomocników tagów) i zastąpić CamelCase przez ograniczniki kreskowe. Następnie potrzebuję innego rodzaju interfejsu do routingu, aby adresy URL ogranicznika zostały ponownie zamienione na CamelCase w celu poprawnego dopasowania do moich kontrolerów/nazw akcji.
również w odpowiedzi: https://stackoverflow.com/a/42050471/195755 – yzorg