1

これが私の設定とコードです。

public class DeployLogController : ApiController
    {
        // GET /api/DeployLog
        public List<DeployLogModel> Get(Guid deployDetailId, Guid? deployLogId)
        {

            DeployLogService service = DeployLogService.Instance;

            return service.GetNewestDeployLogs(deployDetailId, deployLogId).ToList();

        }

        // POST /api/DeployLog
        public void Post(DeployLogModel deployLogModel)
        {
            DeployLogService service = DeployLogService.Instance;
            service.SavaDeployLogByServer(deployLogModel);
        }

    }

Global.asax.csのApplication_Startのコードは以下のとおりです。

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 = "Login", action = "Login", id = UrlParameter.Optional }
           );

        }

        protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();

            RegisterGlobalFilters(GlobalFilters.Filters);
            RegisterRoutes(RouteTable.Routes);

            BundleTable.Bundles.RegisterTemplateBundles();
            Configure(GlobalConfiguration.Configuration);

        }

URL「http:// localhost:8119 / api/DeployLog」にアクセスしたときに400Http応答メッセージが表示されたのはなぜですか。コードのようです

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

動作しません。何かが恋しかったですか?私を助けてください 。ありがとう。

4

2 に答える 2

2

PhilHaackのRoutingDebuggerを使用て、正しいルートがヒットしているかどうかを判断します。

間違ったルートに到達しているか、ルートに対応するコントローラーメソッドがないようです(一見すると、セットアップは、DeployLogではなくGETと呼ばれるコントローラーメソッドを予期しているように見えます。

于 2012-07-30T03:45:08.047 に答える
0

私は最近同じ問題を抱えていました-それはコントローラー関数に入れられた異なるタイプの引数によって引き起こされました。コントローラの私の例では整数パラメータがありましたが、WebAPIクエリの引数として文字列を試しました。そのため、ルーティングが機能しませんでした。

于 2014-11-06T17:45:02.160 に答える