1
resposta

Padrão para definição de Controller e Actions

Trexo do exercicio: "Você quer que essa página seja acessada através da url: [endereço-base da aplicação]/credenciados/pediatria"

Ao ler o trecho do exercício ficou claro que a decisão de organização das actions nas controladoras foi orientada pelo modo como se quer apresentar as urls do site. Este é único critério?

Existe algum padrão para orientar a distribuição das actions nas controladoras?

1 resposta

Olá, Eduardo

A convenção inicial é /controller/action. Não sei se entendi direito sua dúvida, mas você pode modificar o roteamento de diversas formas, como por exemplo:

  • posts num blog: Archive/{entryDate}

              routes.MapRoute(
                  "Blog",                                           // Route name
                  "Archive/{entryDate}",                            // URL with parameters
                  new { controller = "Archive", action = "Entry" }  // Parameter defaults
              );
  • um catálogo de produtos: catalog/brand/{brandId}

routes.MapRoute(
    name: "ByBrandId",
    url: "catalog/brand/{brandId}",
    defaults: new { controller = "Catalog", action = "Catalog" }
);
  • consulta de pedidos: orders/{controller}/{action}/{id}

              routes.MapRoute(
                  "Blog",                                           // Route name
                  "Archive/{entryDate}",                            // URL with parameters
                  new { controller = "Archive", action = "Entry" }  // Parameter defaults
              );
  • consulta de alunos: students/{id}

          routes.MapRoute(
              name: "Student",
              url: "students/{id}",
              defaults: new { controller = "Student", action = "Index"}
          );