1

MVC WEB APIを使用してテストアプリケーションを実行しようとしていますが、動作させることができません。私がやりたいのは、GETリクエストを送信し、応答としてデータベースからログレコードを応答として取得することです。

これが私が設定したものです:

Global.asax.cs :(変更なし)

  public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

        routes.MapHttpRoute(
            name: "DefaultApi",
            routeTemplate: "api/{controller}/{id}",
            defaults: new { id = RouteParameter.Optional }
        );

        routes.MapRoute(
            name: "Default",
            url: "{controller}/{action}/{id}",
            defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
        );
    }

私のコントローラーはDBModelControllerと呼ばれます:

 public class DBModelController : ApiController
{
    public IEnumerable<Log> GetAllLogs()
    {
        IDBModel DAO = new DBModelDAO();

        IList<Log> Logs = DAO.GetLogs(DateTime.Now, DateTime.Now); //this gives back Log objects

        return Logs;
    }

}

そして私はそれをどのように使用したいか:

http:// localhost:15339 / api / logs-そしてその見返りに、シリアル化されたレコードのセットを返します

事前にどうもありがとうございました

4

2 に答える 2

2

クラスをLogsControllerに変更します

于 2012-04-23T13:58:48.407 に答える
1

コントローラクラス名をに変更したくない場合は、新しいルートを作成しますLogs

routes.MapHttpRoute(
    name: "log_route",
    routeTemplate: "api/logs",
    defaults: new { controller = "DBModel", action = "GetAllLogs" }
);

このルートは、デフォルトルートの前に配置する必要があります。

于 2012-04-23T14:54:05.613 に答える