#152 refacto route titre:
- suppression des routes dans controller route - gestion du routage dans RouteConfig
This commit is contained in:
@@ -15,7 +15,6 @@ namespace Webzine.WebApplication.Controllers
|
|||||||
/// affichage des details, filtrage par style,
|
/// affichage des details, filtrage par style,
|
||||||
/// ajout de likes, commentaires et recherche.
|
/// ajout de likes, commentaires et recherche.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Route("titre")]
|
|
||||||
public class TitreController : Controller
|
public class TitreController : Controller
|
||||||
{
|
{
|
||||||
private readonly ILogger<TitreController> logger;
|
private readonly ILogger<TitreController> logger;
|
||||||
@@ -40,7 +39,6 @@ namespace Webzine.WebApplication.Controllers
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="id">Identifiant du titre.</param>
|
/// <param name="id">Identifiant du titre.</param>
|
||||||
/// <returns>Vue des details ou 404 si introuvable.</returns>
|
/// <returns>Vue des details ou 404 si introuvable.</returns>
|
||||||
[HttpGet("{id}")]
|
|
||||||
public IActionResult Details(int id)
|
public IActionResult Details(int id)
|
||||||
{
|
{
|
||||||
this.logger.LogInformation("Demande d'affichage du detail pour le titre ID {Id}.", id);
|
this.logger.LogInformation("Demande d'affichage du detail pour le titre ID {Id}.", id);
|
||||||
@@ -82,7 +80,6 @@ namespace Webzine.WebApplication.Controllers
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="style">Nom du style musical.</param>
|
/// <param name="style">Nom du style musical.</param>
|
||||||
/// <returns>Vue contenant la liste filtree.</returns>
|
/// <returns>Vue contenant la liste filtree.</returns>
|
||||||
[HttpGet("style/{style}")]
|
|
||||||
public IActionResult Style(string style)
|
public IActionResult Style(string style)
|
||||||
{
|
{
|
||||||
this.logger.LogInformation("Recherche des titres pour le style : {Style}.", style);
|
this.logger.LogInformation("Recherche des titres pour le style : {Style}.", style);
|
||||||
@@ -103,7 +100,7 @@ namespace Webzine.WebApplication.Controllers
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="model">Modele contenant l'identifiant du titre.</param>
|
/// <param name="model">Modele contenant l'identifiant du titre.</param>
|
||||||
/// <returns>Redirection vers la page detail.</returns>
|
/// <returns>Redirection vers la page detail.</returns>
|
||||||
[HttpPost("like")]
|
[HttpPost]
|
||||||
public IActionResult Like(TitreLike model)
|
public IActionResult Like(TitreLike model)
|
||||||
{
|
{
|
||||||
this.logger.LogInformation("Ajout d'un like pour le titre ID {Id}.", model.IdTitre);
|
this.logger.LogInformation("Ajout d'un like pour le titre ID {Id}.", model.IdTitre);
|
||||||
@@ -126,7 +123,7 @@ namespace Webzine.WebApplication.Controllers
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="model">Donnees du commentaire.</param>
|
/// <param name="model">Donnees du commentaire.</param>
|
||||||
/// <returns>Redirection vers la page detail.</returns>
|
/// <returns>Redirection vers la page detail.</returns>
|
||||||
[HttpPost("comment")]
|
[HttpPost]
|
||||||
public IActionResult Comment(TitreComment model)
|
public IActionResult Comment(TitreComment model)
|
||||||
{
|
{
|
||||||
if (!this.ModelState.IsValid)
|
if (!this.ModelState.IsValid)
|
||||||
|
|||||||
@@ -7,26 +7,55 @@ public static class RouteConfiguration
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public static void MapCustomRoutes(this IEndpointRouteBuilder endpoints)
|
public static void MapCustomRoutes(this IEndpointRouteBuilder endpoints)
|
||||||
{
|
{
|
||||||
// --- ARTISTES ---
|
|
||||||
|
// --- DETAILS D'UN TITRE ---
|
||||||
|
// exemple : /titre/5
|
||||||
|
endpoints.MapControllerRoute(
|
||||||
|
name: "TitreDetails",
|
||||||
|
pattern: "titre/{id}",
|
||||||
|
defaults: new { controller = "Titre", action = "Details" });
|
||||||
|
|
||||||
|
// --- TITRES PAR STYLE ---
|
||||||
|
// exemple : /titre/style/Rock
|
||||||
|
endpoints.MapControllerRoute(
|
||||||
|
name: "TitresParStyle",
|
||||||
|
pattern: "titres/style/{style}",
|
||||||
|
defaults: new { controller = "Titre", action = "Style" });
|
||||||
|
|
||||||
|
// --- ACTIONS POST (LIKE / COMMENT) ---
|
||||||
|
endpoints.MapControllerRoute(
|
||||||
|
name: "TitreLike",
|
||||||
|
pattern: "titre/like",
|
||||||
|
defaults: new { controller = "Titre", action = "Like" });
|
||||||
|
|
||||||
|
endpoints.MapControllerRoute(
|
||||||
|
name: "TitreComment",
|
||||||
|
pattern: "titre/comment",
|
||||||
|
defaults: new { controller = "Titre", action = "Comment" });
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// ----------- ADMIN -----------
|
||||||
|
|
||||||
|
// ARTISTES
|
||||||
endpoints.MapControllerRoute(
|
endpoints.MapControllerRoute(
|
||||||
name: "AdminArtistesIndex",
|
name: "AdminArtistesIndex",
|
||||||
pattern: "administration/artistes",
|
pattern: "administration/artistes",
|
||||||
defaults: new { area = "Administration", controller = "Artiste", action = "Index" });
|
defaults: new { area = "Administration", controller = "Artiste", action = "Index" });
|
||||||
|
|
||||||
// --- COMMENTAIRES ---
|
// COMMENTAIRES
|
||||||
endpoints.MapControllerRoute(
|
endpoints.MapControllerRoute(
|
||||||
name: "AdminCommentairesIndex",
|
name: "AdminCommentairesIndex",
|
||||||
pattern: "administration/commentaires",
|
pattern: "administration/commentaires",
|
||||||
defaults: new { area = "Administration", controller = "Commentaire", action = "Index" });
|
defaults: new { area = "Administration", controller = "Commentaire", action = "Index" });
|
||||||
|
|
||||||
// --- STYLES ---
|
// STYLES
|
||||||
endpoints.MapControllerRoute(
|
endpoints.MapControllerRoute(
|
||||||
name: "AdminStylesIndex",
|
name: "AdminStylesIndex",
|
||||||
pattern: "administration/styles",
|
pattern: "administration/styles",
|
||||||
defaults: new { area = "Administration", controller = "Style", action = "Index" });
|
defaults: new { area = "Administration", controller = "Style", action = "Index" });
|
||||||
|
|
||||||
|
// TITRES
|
||||||
// --- TITRES ---
|
|
||||||
endpoints.MapControllerRoute(
|
endpoints.MapControllerRoute(
|
||||||
name: "AdminTitresIndex",
|
name: "AdminTitresIndex",
|
||||||
pattern: "administration/titres",
|
pattern: "administration/titres",
|
||||||
|
|||||||
Reference in New Issue
Block a user