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)); } }