我刚刚开始学习asp.net核心api,我正试图向Postman发出发布请求。我想在发布时返回状态码201,并返回新发布数据的Uri作为位置。下面是我的控制器代码
[HttpPost]
public ActionResult CreateMake([FromBody]MakeResource makeresource)
{
if (!ModelState.IsValid) {
return BadRequest(ModelState) ;
}
var makes = mapper.Map<MakeResource, Make>(makeresource);
_makes.AddMake(makes);
makeresource.Id = makes.Id;
return Created(new Uri(Request.Path, UriKind.Relative), makeresource);
}
我收到错误
System.UriFormatException:'无效的URI:URI的格式可以尚未确定。'
而且我想这与Uri(Request.Path)有关。在Asp.net Web api中,我将其实现为return Created(new Uri(Request.Uri + "/" + makes.Id), makeresource);
,并且操作类型将是IHttpActionResult而不是控制器中所示的ActionResult,但是在asp.net核心中它不能那样工作。需要有关如何解决此问题的任何帮助。谢谢。
我只想把它放在这里,以防将来有人需要。我从此链接中得到了答案:click here