【发布时间】:2017-05-23 16:31:23
【问题描述】:
在我的项目中,我需要创建一个带参数的链接,所以我是这样做的:
var link = new Uri(Url.Link("GetUser", new { id = 1 }));
static List<Students> std = new List<Students>()
{
new Students(){id = 1, Nome = "Nathiel"},
new Students() {id = 2, Nome = "Barros"}
};
以及他们将接收 id 的方法:
[Route("{id:int}",Name = "GetUser")]
[HttpGet]
public async Task<HttpResponseMessage> Get(int id)
{
var u = std.FirstOrDefault(x => x.id == id);
var response = new HttpResponseMessage();
response = Request.CreateResponse(HttpStatusCode.OK, u);
var task = new TaskCompletionSource<HttpResponseMessage>();
task.SetResult(response);
return await task.Task;
}
问题是,URL 没有连接第二个路由“GetUser”,并且是这样的:"http://localhost:52494/api/v1/Register/1"。
【问题讨论】:
-
您期望的 URL 是什么?
标签: c# asp.net-web-api asp.net-web-api-routing