我使用带有MVC 4和ApiController
类的.NET 4.0框架成功实现了RESTful Web服务。
我有一个方法,让我们说GetMovies
(“/ api / movies”)返回一个IQueryable<Movie>
。当然,使用DataContractSerializer
完成序列化。问题出在返回列表的名称中,因为它是ArrayOfMovie
:
<ArrayOfMovie>
<Movie></Movie>
<Movie></Movie>
...
<Movie></Movie>
</ArrayOfMovie>
我无法创建自定义类,让我们说Movies
,并添加[CollectionDataContract(Name = "movies")]
注释(如https://stackoverflow.com/a/4593167/801065中所建议的那样),因为如果不实现全部,我无法扩展IQueryable
它的方法。我绝对需要一个用于OData / jQuery处理的IQueryable。
我怎么解决这个问题?是否有可以帮助我的注释?
答案 0 :(得分:0)
这是我找到的解决方案。 您需要在要序列化的主类中放置一个组类。
[DataContract(Name = "movies")]
public class group
{
[DataMember(Name="movies")]
public IQueryable<Movie> Movies;
}