2
私は今日何かに遭遇しました。以下は私のサンプルクラスです。MVC4 Web APIのデフォルトのJSONシリアライザ
public class Employee
{
public string Name{get;set;}
Public Department Dept {get;set;}
public IList<Roles> Roles;
}
public Department{
public string Name{get;set;}
}
public Role {
public string Name{get;set;}
}
sampleApiController : ApiContrller{
public IEnumerable<string> Get(){
return new List<string>{"Pavan", "Josyula"};
}
public Employee GetEmp(int id){
Employee e = new Employee();
e.Dept = "IT";
e.Name="Pav";
IList<Roles> r = new IListRoles();
r.Add(new Role{Name="Integrator"});
e.Roles = r;
return e;
}
}
は今、私はそれは常にAcceptHeadersに関係なく、私に何を私のコンテンツタイプをJSON形式で応答を与えていない私のbroswerからこのGetEmpメソッドを呼び出すとき。しかし、Getメソッドを呼び出すと、XML形式の文字列のコレクションが返され、要求ヘッダーのaccept動詞に基づいて動作します。本文で、カスタムタイプのこのデフォルトのJSON動作の理由を教えてください。