1

誰かがこれを手伝ってくれますか? 私はこのコントローラーを持っています:

public class CbpOutcomeController : ApiController
{
    // POST /api/CbpOutcome/1/ 
    public HttpResponseMessage PostCreateCbpOutcome(CbpOutcome co)
    {
        ... snip ...
        return resp_msg;
    }
}

そして、このルート:

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

        routes.MapRoute(
            "HubProfilePostRoute", // Route name
            "hub/{controller}/{action}", // URL with parameters
            new { controller = "Home", action = "Index" } // Parameter defaults
        );

        routes.MapHttpRoute(
            name: "ProfileByRegionApi",
            routeTemplate: "api/{controller}/Region/{region_name}"
        );

        routes.MapHttpRoute(
            name: "ProfileByGlobalPriorityApi",
            routeTemplate: "api/{controller}/GlobalPriority/{priority_name}"
        );

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

そして、 to を作成するPOSThttp://localhost:2515/api/CpbOutcome、次の JSON 構造が使用されます。

{ "Id":0, "Description":"This is a description", "DisplayOrder": 3, 
  "ModifiedBy":"Somebody's name here", "Cbp": { "Id": 163 }}

次のメッセージが表示されます。

No type was found that matches the controller named 'CpbOutcome'.
4

1 に答える 1

5

---編集---

API クラスのスペルを確認してください。

public class CbpOutcomeController : ApiController

次に、URL のスペルを確認します。

http://localhost:2515/api/CpbOutcome

Cbp と Cpb に注意してください

---編集終了---

API コントローラーの URL は、WebApiConfig.csファイル内にある必要があります。

RouteConfig.csファイル内にありません

Web API プロジェクト用に VS2012 で提供される既定のテンプレートを分析すると、それが表示されます。

于 2012-11-02T14:19:55.723 に答える