DotNetAnalyzers / AspNetCoreAnalyzers

MIT License
62 stars 4 forks source link

Check parameter constraint combinations #16

Open JohanLarsson opened 5 years ago

JohanLarsson commented 5 years ago
namespace AspBox.Controllers
{
    using Microsoft.AspNetCore.Mvc;
    using System.Globalization;

    [Route("api/[controller]")]
    [ApiController]
    public class ValuesController : ControllerBase
    {
        [HttpGet("api/values/{id:double:min(0)}")]
        public ActionResult<string> Get(double id)
        {
            return id.ToString(CultureInfo.InvariantCulture);
        }
    }
}

Returns 404 for GET https://localhost:5001/api/values/2.3

NinjaKitt3n commented 5 years ago

Min Route Constraint Source

As you can see, the Min route constraint only allows for long input.

Edit: Max & Range also the same -> Max Constraint Range Constraint