1

WebApiConfig.cs で既定のルートを定義しています。

        config.Routes.MapHttpRoute(
            name: "DefaultApi",
            routeTemplate: "api/{controller}/{id}",
            defaults: new { id = RouteParameter.Optional, page = 20, offset = 0 }
        );

私のコントローラーには、アクションがあります:

    // GET api/users
    [HttpGet]
    public IEnumerable<User> Get(string id, int page, int offset)
    {
        return id != null 
            ? new User[]{Get(id)} 
            : _userService.All().Skip(offset*page).Take(page);
    }

これが最近機能していたことは知っていますが、悪名高い「コントローラー 'ユーザー' で要求に一致するアクションが見つかりませんでした」というエラーが表示されます。何が(もしあれば)変更されたのかわかりません。ページ/オフセットのデフォルトを追加してからのすべての変更を元に戻しましたが、まだ何もしていません。

何か案は?

リクエスト URL:http://localhost/api/api/Users

4

2 に答える 2

0

ルートにアクションが指定されていません。{action}URL にピースを追加するか、defaultオブジェクトでアクションを指定する必要があります。

于 2013-04-17T16:59:44.640 に答える