首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >MVC 6 Web :解析201上的位置标头(创建)

MVC 6 Web :解析201上的位置标头(创建)
EN

Stack Overflow用户
提问于 2015-08-12 05:58:37
回答 6查看 16.1K关注 0票数 18

在Web 2.2中,我们可以通过从控制器返回位置头URL,如下所示:

代码语言:javascript
运行
复制
return Created(new Uri(Url.Link("GetClient", new { id = clientId })), clientReponseModel);

Url.Link(..)将根据控制器名GetClient相应地解析资源URL

在ASP.NET 5 MVC 6的Web中,Url不存在于框架中,但是CreatedResult构造函数确实具有位置参数:

代码语言:javascript
运行
复制
return new CreatedResult("http://www.myapi.com/api/clients/" + clientId, journeyModel);

如何解决这个URL,而无需手动提供,就像我们在WebAPI2.2中所做的那样?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2015-08-13 15:15:16

我没有意识到这一点,但是CreatedAtAction()方法满足了这一点:

代码语言:javascript
运行
复制
return CreatedAtAction("GetClient", new { id = clientId }, clientReponseModel);

确保您的控制器来自MVC的Controller。

票数 21
EN

Stack Overflow用户

发布于 2017-04-28 14:41:51

在新的ASP.NET MVC核心中有一个属性Url,它返回IUrlHelper的一个实例。您可以使用以下命令来生成本地URL:

代码语言:javascript
运行
复制
[HttpPost]
public async Task<IActionResult> Post([FromBody] Person person)
{
  _DbContext.People.Add(person);
  await _DbContext.SaveChangesAsync();

  return Created(Url.RouteUrl(person.Id), person.Id);
}
票数 12
EN

Stack Overflow用户

发布于 2015-08-12 10:50:03

有一个UrlHelper类实现IUrlHelper接口。它提供了所请求的功能。

源代码

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31957060

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档