- Here is the first way, inserting a constraint when creating a route conventionally:
app.UseMvc(routes => { routes.MapRoute( name: "default", template: "{controller=Home}/{action=Index}/{id?}" ); routes.MapRoute( name: "products", template: "Products/{id=1}", defaults: new { controller = "Product", action = "Details" } ); });
- This is the second way, inserting a constraint by attribute routing:
// for an api controller [Route("api/[controller]")] public class ProductValuesController : Controller { // GET api/productvalues/5 [HttpGet("{id}")] public string Get(int id) { return "value"; } // PUT api/productvalues/laptop [HttpPut("{name:alpha:length(3)}")] public void UpdateProductName(string name) { } } // for a MVC controller ...