如何在REST api中为Get传递嵌套参数

时间:2014-05-30 21:22:06

标签: c# asp.net rest asp.net-web-api

我有以下情况 活动很少,每个活动都由一群朋友代表。

第一次我请求使用简单的Get请求实现的事件列表。

http://example.com:6400/api/Events/  

Corresponding Rest API : public IEnumerable<Event> Get();

现在我可以搜索事件列表并可以请求特定事件说(事件5)

http://example.com:6400/api/Events/eventdetail/5. 

Corresponding Rest API : public HttpResponseMesssage eventdetail(int id);

但是现在如果我想在那个事件(5)中收到关于某个朋友的信息(比如朋友的身份证是10)我无法找到方法。我能够实现的一种方法是使用逗号分隔 获取请求:

http://example.com:6400/api/Events/eventdetail/5,10.  

Corresponding Rest API: Not Sure ????

但我不认为这是最好的方法。有什么方法可以实现所需的结果和相应的Rest API。

1 个答案:

答案 0 :(得分:1)

开始接受方法中的两个参数:

public HttpResponseMesssage EventDetail(int id, int friendId) {
    //Do your stuff!
}

相应的URI如下所示:

http://example.com:6400/api/Events/EventDetail/5?friendId=10

注意HTTP参数名称如何与C#方法名称匹配。有关ASP.NET MVC路由的更多信息,我建议您阅读their overview