如何将Uri添加到过帐请求的已创建(状态代码201)

问题描述 投票:0回答:1

我刚刚开始学习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核心中它不能那样工作。需要有关如何解决此问题的任何帮助。谢谢。

c# asp.net-core asp.net-apicontroller
1个回答
0
投票

我只想把它放在这里,以防将来有人需要。我从此链接中得到了答案:click here

© www.soinside.com 2019 - 2024. All rights reserved.