当控制器使用泛型时,如何为WebApi控制器设置路由

时间:2015-03-13 20:46:16

标签: c# generics asp.net-mvc-routing asp.net-apicontroller

这是我使用泛型的ApiController类:

public class ValuesController<T> : ApiController
    where T : Foobar
{
    // GET api/values
    public IEnumerable<string> Get()
    {
        return new string[] { "value1", "value2" };
    }
}

这是GET请求:

<script>
    function refreshStatus() {
        $.getJSON('api/values')
            .done(function (data) {
                alert(data);
            })
            .fail(function (jqXhr) {
                alert('Message=' + jqXhr.responseText);
            });
    };
</script>

以下是错误回复:

“{\”Message \“:\”找不到与请求URI'http://localhost:64199/api/values'匹配的HTTP资源。\“,\”MessageDetail \“:\”未找到与控制器匹配的类型命名为'values'。\“}”

如果ValuesController未构建为泛型类,则GET成功完成。但是当添加泛型时,GET会因上述错误而失败。

我应该如何设置路由以便客户端可以成功访问ValuesController?

0 个答案:

没有答案