文字列「con」のどこが間違っているのでしょうか?
OK、私の api ルート設定はあまり面白くありません:
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
LocationController には次のメソッドがあります。
public List<LocationViewModel> Get(string id)
{
return _ds.SearchLocations(id);
}
次のようにリソースを取得しようとすると HTTP 404 エラーが発生することを除いて、すべてが正常に機能します。
/api/場所/コン
この場合、メソッドはヒットしません。奇妙なことに、「con」以外の文字列を id パラメータとして設定すると、コントローラー メソッドがヒットし、正しく動作します。
これは、Cassini を使用して localhost でアプリケーションをデバッグしているときに発生します (IIS Express でも同じです)。プロジェクト ディレクトリに「con」という名前のファイルはありません。アプリのエラー イベントを処理した後、IntelliTrace は次のメッセージを含む HttpException を明らかにしました:「パス '/api/location/con' をマップできませんでした」...
手がかりはありますか?これは既知のバグですか?
前もって感謝します!