Web API コントローラーにメソッドがあります。
[HttpPost]
public void Post([FromBody]Registration registration)
{
// omitted
}
メソッドを呼び出すことはできますが、パラメーターは常に null です。登録クラスは次のように定義されます。
public class Registration
{
public int Id { get; set; }
public IStudent Student { get; set; }
}
public interface IStudent
{
string FirstName { get; set; }
string LastName { get; set; }
}
public class Student : IStudent
{
public string FirstName { get; set; }
public string LastName { get; set; }
}
インターフェースである Registration の Student プロパティがこれを引き起こしているようです。これを具体的な型に置き換えようとすると、うまくバインドされるからです。
インターフェイスを使用するときにこのバインドを行うにはどうすればよいですか? また、元の Web API では、Registration 型のパラメーターを受け入れています。これをインターフェイス (IRegistration) として作成し、バインドすることもできますか?