ASP.NET MVC 6を使用して.NET Core Webアプリケーションを使用しています。最も一般的なCRUD操作用の汎用APIコントローラがあります。問題は、複数の異なるタイプのIDがあることです。たとえば、私はintとGuidの両方を持っています。.NET Core Webアプリケーション。オブジェクトをコントローラに渡してキャストすると常に失敗します。
私の一般的な取得・コントローラは、次のようになります。
// GET api/values/5
[HttpGet("api/[controller]/{id}")]
public virtual async Task<IEntity> Get(object id)
{
var myEntity = await _myRepository.FindAsync(id);
if (myEntity == null)
return ItemNotFound();
return myEntity;
}
私が代わりにオブジェクトのint型に取るメソッドのパラメータを変更した場合、それが正常に動作します。しかし、オブジェクトをint型にキャストすると、無効なキャスト例外が発生します。私はそれが予想されるものとしてオブジェクトを正常にキャストする方法はありますか?
文字列はありますか? – niico
これはまた、無効なキャスト例外をスローします。 – user2793442