创建了一个输出json的web api,试图将它与backbone.js pagination插件一起使用,将结果输出到backbone.js infinite-paging插件
这是我输出的json
[{"id":1,"title":"test1""desc":"book1"},
{"id":2,"title":"test2","desc":"book2"},
{"id":3,"title":"test3", "desc":"book3"},
{"id":4,"title":"test4","desc":"book4"},
{"id":5,"title":"test5","desc":"book5"},
{"id":6,"title":"test6","desc":"book6"}]
但我需要将对象的名称包含为backbone.js paginator需要返回响应对象。我认为我几乎在那里,但似乎不能让它显示或计算我如何添加对象名称
{"object name:"[{"id":1,"title":"test1","desc":"book1"}, {"id":2,"title":"test2","desc":"book2"},
{"id":3,"title":"test3","desc":"book3"},
{"id":4,"title":"test4","desc":"book4"},
{"id":5,"title":"test5","desc":"book5"},
{"id":6,"title":"test6","desc":"book6"}]}
我的.net api web api看起来像这样
namespace newslist
{
public class NewsController : ApiController
{
List<News> Articles = new List<News>{
new News { id=1, title="test1", desc ="test1"},
new News { id=2, title="test2", desc ="test2"},
new News { id=3, title="test3", desc ="test3"},
new News { id=4, title="test4", desc ="test4"},
new News { id=5, title="test5", desc ="test5"},
new News { id=6, title="test6", desc ="test6"}
};
public List<News> GetAllLatestNews()
{
return Articles;
}
public News GetNewsById(int id)
{
var News = Articles.FirstOrDefault((p) => p.id == id);
if (News == null)
{
throw new HttpResponseException(HttpStatusCode.NotFound);
}
return News;
}
public IEnumerable<News> GetNewsByCategory(string desc)
{
return Articles.Where(
(p) => string.Equals(p.desc, desc,
StringComparison.OrdinalIgnoreCase));
}
}
}
类文件:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace newslist
{
public class News
{
public int id { get; set; }
public string title { get; set; }
public string desc { get; set; }
}
}
答案 0 :(得分:1)
如果只有JSON可以,那么这应该可以满足您的需求。
public class NewsController : ApiController
{
List<News> Articles = new List<News>{
new News { id=1, title="test1", desc ="test1"},
new News { id=2, title="test2", desc ="test2"},
new News { id=3, title="test3", desc ="test3"},
new News { id=4, title="test4", desc ="test4"},
new News { id=5, title="test5", desc ="test5"},
new News { id=6, title="test6", desc ="test6"}
};
public HttpResponseMessage GetAllLatestNews()
{
return Request.CreateResponse(HttpStatusCode.OK, new { ObjectName = Articles});
}
}