From 3f4f74f725d9910d69567b156bb6226eb4adcab2 Mon Sep 17 00:00:00 2001 From: gorohoroh Date: Tue, 3 Jul 2018 19:56:06 +0300 Subject: [PATCH] Setting up conventional routing + adding an AboutController with two actions --- .../Controllers/AboutController.cs | 15 +++++++++++++ OdeToFoodRider/OdeToFoodRider/Startup.cs | 14 ++++++++++--- .../Controllers/AboutController.cs | 21 +++++++++++++++++++ .../OdeToFoodVisualStudio/Startup.cs | 15 ++++++++++--- 4 files changed, 59 insertions(+), 6 deletions(-) create mode 100644 OdeToFoodRider/OdeToFoodRider/Controllers/AboutController.cs create mode 100644 OdeToFoodVisualStudio/OdeToFoodVisualStudio/Controllers/AboutController.cs diff --git a/OdeToFoodRider/OdeToFoodRider/Controllers/AboutController.cs b/OdeToFoodRider/OdeToFoodRider/Controllers/AboutController.cs new file mode 100644 index 0000000..c150eef --- /dev/null +++ b/OdeToFoodRider/OdeToFoodRider/Controllers/AboutController.cs @@ -0,0 +1,15 @@ +namespace OdeToFoodRider.Controllers +{ + public class AboutController + { + public string Phone() + { + return "1+555+555+5555"; + } + + public string Address() + { + return "USA"; + } + } +} \ No newline at end of file diff --git a/OdeToFoodRider/OdeToFoodRider/Startup.cs b/OdeToFoodRider/OdeToFoodRider/Startup.cs index 9342451..b2dff63 100644 --- a/OdeToFoodRider/OdeToFoodRider/Startup.cs +++ b/OdeToFoodRider/OdeToFoodRider/Startup.cs @@ -5,6 +5,7 @@ using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Routing; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; @@ -31,14 +32,21 @@ public void Configure(IApplicationBuilder app, IHostingEnvironment env, IGreeter } app.UseStaticFiles(); - app.UseMvcWithDefaultRoute(); + app.UseMvc(ConfigureRoutes); app.Run(async (context) => { var greeting = greeter.GetMessageOfTheDay(); - // RDVS: wanted to use string interpolation for the WriteAsync() argument but a context action is missing :( - await context.Response.WriteAsync($"{greeting}: {env.EnvironmentName}"); + context.Response.ContentType = "text/plain"; + await context.Response.WriteAsync("Not found"); }); } + + private void ConfigureRoutes(IRouteBuilder routeBuilder) + { + // /Home/Index/4 + routeBuilder.MapRoute("Default", + "{controller=Home}/{action=Index}/{id?}"); + } } } \ No newline at end of file diff --git a/OdeToFoodVisualStudio/OdeToFoodVisualStudio/Controllers/AboutController.cs b/OdeToFoodVisualStudio/OdeToFoodVisualStudio/Controllers/AboutController.cs new file mode 100644 index 0000000..a4d456b --- /dev/null +++ b/OdeToFoodVisualStudio/OdeToFoodVisualStudio/Controllers/AboutController.cs @@ -0,0 +1,21 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; + +namespace OdeToFoodVisualStudio.Controllers +{ + public class AboutController + { + public string Phone() + { + return "1+555+555+5555"; + } + + public string Address() + { + return "USA"; + } + + } +} diff --git a/OdeToFoodVisualStudio/OdeToFoodVisualStudio/Startup.cs b/OdeToFoodVisualStudio/OdeToFoodVisualStudio/Startup.cs index e463482..0749d0e 100644 --- a/OdeToFoodVisualStudio/OdeToFoodVisualStudio/Startup.cs +++ b/OdeToFoodVisualStudio/OdeToFoodVisualStudio/Startup.cs @@ -1,6 +1,7 @@ using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Routing; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; @@ -29,7 +30,7 @@ public void Configure(IApplicationBuilder app, IHostingEnvironment env, IGreeter } app.UseStaticFiles(); - app.UseMvcWithDefaultRoute(); + app.UseMvc(ConfigureRoutes); app.Run(async (context) => { @@ -42,10 +43,18 @@ public void Configure(IApplicationBuilder app, IHostingEnvironment env, IGreeter // 3. Roslyn doesn't infer that the generated method should return a string, not an object var greeting = greeter.GetMessageOfTheDay(); - - await context.Response.WriteAsync($"{greeting}: {env.EnvironmentName}"); + context.Response.ContentType = "text/plain"; + await context.Response.WriteAsync("Not found"); }); } + + private void ConfigureRoutes(IRouteBuilder routeBuilder) + { + // /Home/Index/4 + routeBuilder.MapRoute("Default", + "{controller=Home}/{action=Index}/{id?}"); + + } } }