public JsonResult Get([FromQuery] string price, [FromQuery] string zipCode) // I decided to take params in as strings to allow validation to happen under my control { JsonResult response; try { response = new JsonResult(_taxCalculatorService.CalculateTax(_taxInputUtility.ValidatePrice(price), _taxService.GetByZipCode(_taxInputUtility.ValidateZipCode(zipCode)))); } catch (ArgumentException e) { response = new JsonResult(new ErrorResponse(e.Message)); } return(response); }