public async Task <ActionResult <CustomResponse <ViewResponse> > > View( [FromRoute][BindRequired][ModelBinder(Name = "problemsetId")] Problemset problemset, [FromRoute] string id ) { var entryId = await problemset.GetProblemEntryId(id); if (!entryId.HasValue) { ModelState.AddModelError("id", "The specified id does not exist in the problemset."); return(BadRequest(ModelState)); } var content = await problemset.GetProblemContent(entryId.Value); return(new CustomResponse <ViewResponse>(new ViewResponse() { EntryId = entryId.Value, Content = content })); }