1
WebAPI 서비스를 개발 중이며 호기심이 많은 문제가 발생했습니다. 생성자를 사용하여 ViewModel을 호출 할 때 반환 유형이 XML에서 JSON으로 변경되는 이유는 무엇입니까?사용자 지정보기 모델에서 생성자를 호출하면 출력 형식이 JSON으로 변경됩니다.
컨트롤러의 코드;
// GET api/Product/5
public MyViewModel GetProduct(Int64 id)
{
// without a constructor this returns an xml
//return new MyViewModel() { Name = "123" };
// this changes type to json
Product product = new Product();
return new MyViewModel(product) { Name = "123" };
}
View Model class;
[XmlRoot(ElementName = "ARequest", Namespace = "http://myschema.com/schemas/myviewmodel.xsd")]
public class MyViewModel : Product
{
public string Name { get; set; }
public MyViewModel(Product product)
{
// this constructor causes the type to switch from
// xml to json - why?
}
}