を取得するには、デフォルト値をPOSTリクエストを認識していない:ルーティングは、私はまだ問題を下回るに関するヘルプを探しています
私は私のためのMVC C#.NET(4.0)のWeb APIプロジェクトにRESTfulなAPIに取り組んできました企業は数日(オンとオフ)になっていますが、なんらかの理由でAPIをHTTP POSTにルーティングすることができないようですが、Get(デフォルト設定)を続けています。私はいくつかが正常に動作し GETリクエスト持っ
、私はそれらをしても、ストレステストしてみた、これはルーティングエラーは、私が見つけることができないようどこかがあると信じて私をリード。 ..
(私は多くの他のパラメータも試しましたが、デバッガはPostメソッドの起動をキャッチしません)にナビゲートすると、このエラーメッセージが表示されます。
{ "メッセージ": "要求されたリソースは、HTTPメソッドをサポートしていません 'GET'"} はlocalhost:?61090/API/Ole_foundations /ポスト/ S =カレ
です私のポスト:
[HttpPost]
public void Post(string s)
{
WSC.DNN.WorksiteCloudOLEDC.WorkSiteCloudOLEDC.WorkSiteCloudOLEDC wdc = new WSC.DNN.WorksiteCloudOLEDC.WorkSiteCloudOLEDC.WorkSiteCloudOLEDC();
int ret1 = 0;
int ret2 = 0;
Boolean ret3 = wdc.INSERTOLE_Foundation(14774, 14774, "JSONTEST", "JSONTEST", "JSONTEST", 0.00, 0.00, 0.00, 0.000, 0.00, 0.000, "JSONTEST", 0.000, 0.000, 12345, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, "JSONTEST", 1234, 0.000, 0.000, 0.000, 0.000, true, true, Convert.ToDateTime("01/01/1900"), "JSONTEST", "JSONTEST", true, "JSONCOMMENTTEST", 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, true, true, true, true, true, true, true, 12345, true, true, 12345, true, true, "JSONTEST", "JSONTEST", "JSONTEST", null, Convert.ToDateTime("01/01/1900"), "JSONTEST", null, Convert.ToDateTime("01/01/1900"), Convert.ToDateTime("01/01/1900"), Convert.ToDateTime("01/01/1900"), null, null, null, true, true, true, "JSONTEST", 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, null, "FINALJSONTEST", true, "NRCJSONTEST", 12345, true, true, true, true, true, true, "UPDATEDBYTEST", 3322, WSC.DNN.GeneralRoutines.clsEnums.MappingTypes.OLE_Foundation, conStr, "JoakimJSONTEST", ref ret1, ref ret2);
}
メソッド本体のすべては問題なく、意図どおりに動作します。
これらは、WebApiConfig.csで定義されているルートです:
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{action}/{parameters}",
defaults: new { parameters = RouteParameter.Optional }
);
config.Routes.MapHttpRoute(
name: "ApiByAction",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { controller = "Ole_foundations", action = "GetFromThreads", id = RouteParameter.Optional }
);
config.Routes.MapHttpRoute(
name: "insertRoute",
routeTemplate: "api/{controller}/{action}/{param}",
defaults: new { controller = "Ole_foundations", action = "Post", param = RouteParameter.Optional }
);
And these are the routes defined in **Global.asax.cs:**
public class WebApiApplication : System.Web.HttpApplication
{
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
WebApiConfig.Register(GlobalConfiguration.Configuration);
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
RouteTable.Routes.MapHttpRoute(null, "api/{controller}/{action}/{parameters}",
new { parameters = UrlParameter.Optional, Action = "Get" });
RouteTable.Routes.MapHttpRoute(null, "api/{controller}/{action}/{param}",
new { Action = "Post", param = UrlParameter.Optional });
}
}
ので、リクエストをPOSTとして認識させるにはどうすればよいですか? – geostocker
リクエストの送信方法を表示できますか? – IamNguele
どういう意味ですか?私のURL? – geostocker