チュートリアルに従ってアプリを作成しようとしています。書籍のリストを取得する Get リクエストを作成しようとしています。これは私のコントローラーです:
public class BooksController : ApiController
{
Book[] books = new Book[]
{
new Book(1, "Alice In Wonderland"),
new Book(2, "Dune"),
new Book(3, "Lord of the Rings")
};
public IEnumerable<Book> Get()
{
return books;
}
...
そして、これは私のモデルです:
public class Book
{
public Book()
{
}
public Book(int id, string name)
{
id = this.id;
name = this.name;
}
public int id { get; set; }
public string name { get; set; }
}
空のコンストラクターを使用する前は、シリアル化エラーがスローされていました。空のデータを返すようになりました:
<ArrayOfBook xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/WebApplication1.Model">
<Book>
<id>0</id>
<name i:nil="true"/>
</Book>
<Book>
<id>0</id>
<name i:nil="true"/>
</Book>
<Book>
<id>0</id>
<name i:nil="true"/>
</Book>
</ArrayOfBook>
コントローラーにブレークポイントを設定しようとしましたがreturn books
、リストはハードコードしたものではありません。3 つの空の本のオブジェクトです。
[Serializable] を Book クラスに追加して、空のコンストラクターを削除しようとしましたが、空の本のセットを返すだけです。何が起こっているのですか?
ありがとう