AngularJS +服务堆栈查询返回类型

时间:2014-02-23 02:19:00

标签: c# servicestack

目前正在使用服务堆栈使用以下控制器功能从本地数据库检索数据:

 // GET: /Checklist/GetChecklists
        public IEnumerable<Checklist> GetChecklists()
        {
           var dbFactory = new ServiceStack.OrmLite.OrmLiteConnectionFactory(SqliteFileDb, new SqlServerOrmLiteDialectProvider(), true);
            using (var db = dbFactory.Open())
            {
                var retObj = db.Select<Checklist>();
                return retObj;
            }
        }

我的数据库成功retrieves data

问题是函数总是返回数据的类型而不是实际数据本身。

例如: Example 1 Example 2

必须做什么才能使函数实际返回数据本身而不是类型?

由于

1 个答案:

答案 0 :(得分:1)

您正在使用ServiceStack.ORMLite,但您没有使用ServiceStack,而是使用WebApi。

在屏幕截图中,我可以看到您的ChecklistController继承自Controller,但对于WebApi,它应该从ApiController继承,以便序列化工作。

我还要将verb属性添加到方法中:

public class ChecklistController : ApiController
{
    ...

    [System.Web.Http.HttpGet]
    public IEnumerable<Checklist> GetChecklists()
    {
        ...
    }

WebApiConfig中,您需要确保have a route setup。通常,WebApi的前缀为api,这是为了避免与MVC路由冲突。

public static class WebApiConfig
{
    public static void Register(HttpConfiguration config)
    {
        config.Routes.MapHttpRoute(
            name: "API Default",
            routeTemplate: "api/{controller}/{action}/{id}",
            defaults: new { id = RouteParameter.Optional }
        );
    }
}

然后拨打 / api /核对清单/ GetChecklists