public static async Task <IActionResult> Post <T>(this Controller controller, IRest <T> rest, T obj)
        {
            if (!controller.ModelState.IsValid || obj == null)
            {
                return(controller.BadRequest(controller.ModelState));
            }
            try
            {
                int newid = await rest.Add(obj);

                return(controller.Created($@"{controller.GetCurrentUri()}/{newid}", await rest.Get(newid)));
            }
            catch (Exception ex)
            {
                return(controller.BadRequest(ex.Message));
            }
        }