私はいくつかの見た目をしていて、私が経験している問題に似ているものに遭遇していないので、ここに投げ捨てて、WebAPIリクエストで404エラーが発生しました...同じリクエストで
コントローラとメソッドが設定されています。
public class BoothAPIController : ITApiControllerBase
{
[HttpGet]
public HttpResponseMessage GetActiveAssetNumbersLike([FromUri] String id)
{
HttpResponseMessage ret;
// ... do some processing
return ret;
}
}
ルートが...しかし、このいずれかをGlobal.asaxの
protected void Application_Start(object sender, EventArgs e)
{
GlobalConfiguration.Configuration.Routes.MapHttpRoute(
name: "CustomApi",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional });
GlobalConfiguration.Configuration.Routes.MapHttpRoute(
name: "BoothWithDateAPI",
routeTemplate: "api/{controller}/{boothID}/{year}/{month}/{day}");
GlobalConfiguration.Configuration.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional });
}
に設定し、これら2つの要求を完璧に実行...
http://localhost:52211/api/BoothAPI/GetActiveAssetNumbersLike/PR
http://localhost:52211/api/BoothAPI/GetActiveAssetNumbersLike/PRN0
さは404エラーを返します。 ..
http://localhost:52211/api/BoothAPI/GetActiveAssetNumbersLike/PRN
成功した要求が
Cache-Control →no-cache
Content-Length →7731
Content-Type →application/json; charset=utf-8
Date →Mon, 29 Aug 2016 13:13:43 GMT
Expires →-1
Pragma →no-cache
Server →Microsoft-IIS/8.0
X-AspNet-Version →4.0.30319
X-Powered-By →ASP.NET
X-SourceFiles → [string]
(肩をすくめる)のように見えますが失敗した要求は、私は、パラメータで1つの変更を行い、なぜ私は完全に途方に暮れています...知らんよ...のように
Cache-Control →private
Content-Length →2879
Content-Type →text/html; charset=utf-8
Date →Mon, 29 Aug 2016 12:53:08 GMT
Server →Microsoft-IIS/8.0
X-AspNet-Version →4.0.30319
X-Powered-By →ASP.NET
X-SourceFiles →= [string]
に見えます差。
Content-Typeの違いがあります。それが失敗すると、text/htmlを送信しています。これらのリクエストはどのように送っていますか?アプリケーション経由で、あるいは多分郵便配達員経由でですか? – jpgrassi
また、なぜGlobal.asaxでルートを設定していますか? App_StartフォルダにWebApiConfigファイルがありませんか? – jpgrassi
リクエストが同一で、郵便配達員から送信されました。パラメータ文字列のみが異なります。限り、Global.asax ...現時点では便利です。私は構成がたくさんあるわけではないので、それを分解する必要はありませんでした。アプリケーションが大きくなるにつれて、それを少しリファクタリングするかもしれません。 –