gpt4 book ai didi

asp.net-web-api - 在Web Api 2中将Url.Link与属性路由一起使用

转载 作者:行者123 更新时间:2023-12-03 08:37:26 25 4
gpt4 key购买 nike

使用webapi 2时,我想在HTTP响应中添加一个Location header 。下面的方法显示了如何使用命名路由来做到这一点。有谁知道您是否可以使用作为Webapi 2的一部分发布的属性路由功能来创建Url.Link?

string uri = Url.Link("DefaultApi", new { id = reponse.Id });
httpResponse.Headers.Location = new Uri(uri);

提前致谢

最佳答案

使用属性路由时,可以将RouteName与Ur.Link一起使用。

public class BooksController : ApiController
{
[Route("api/books/{id}", Name="GetBookById")]
public BookDto GetBook(int id)
{
// Implementation not shown...
}

[Route("api/books")]
public HttpResponseMessage Post(Book book)
{
// Validate and add book to database (not shown)

var response = Request.CreateResponse(HttpStatusCode.Created);

// Generate a link to the new book and set the Location header in the response.
string uri = Url.Link("GetBookById", new { id = book.BookId });
response.Headers.Location = new Uri(uri);
return response;
}
}

http://www.asp.net/web-api/overview/web-api-routing-and-actions/attribute-routing-in-web-api-2#route-names

关于asp.net-web-api - 在Web Api 2中将Url.Link与属性路由一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20234060/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com