ASP.net API 调用 returns 控制器 class,不是数据

ASP.net API get call returns controller class, not data

我在 ASP.net 中创建了一个 API。我的 Sencha SPA 正试图从中获取数据。不幸的是,get 调用返回的是控制器 class 而不是我想要的数据。有什么想法吗?

获取方法如下:

private firstAPIContext db = new firstAPIContext();

    // GET: api/AccountModels
    public IQueryable<Account> GetAccountModels()
    {
        return db.Accounts;
    }

    // GET: api/AccountModels/5
    [ResponseType(typeof(Account))]
    public async Task<IHttpActionResult> GetAccountModel(string username)
    {
        Account accountModel = await db.Accounts.FindAsync(username);
        if (accountModel == null)
        {
            return NotFound();
        }

        return Ok(accountModel);
    }

这是来自 Sencha 的其余代理代码:

Ext.define('MyApp.store.AccountsStore', {
    extend: 'Ext.data.Store',

    requires: [
        'MyApp.model.AccountModel',
        'Ext.data.proxy.Rest'
    ],

    constructor: function(cfg) {
        var me = this;
        cfg = cfg || {};
        me.callParent([Ext.apply({
            storeId: 'AccountsStore',
            model: 'MyApp.model.AccountModel',
            proxy: {
                type: 'rest',
                url: '/Controllers/AccountsController.cs'
            }
        }, cfg)]);
    }
});

请确保您已在您的 Sencha Store.So 上添加了 JSON Reader 以便您可以阅读 server.Also 发送的响应 请确保您是为此,从服务器发送 JSON 数据,在 Global.axpx

中添加以下行
 var config=GlobalConfiguration.Configuration;
 config.Formatters.Clear();
 config.Formatters.Add(new JsonMediaTypeFormatter());

同时将 url 改成这样 url: '/Controllers/AccountsController/'

这似乎是我的主要原因,因为您添加了扩展程序 .cs 这就是为什么当你调用方法时 returns 整个控制器 class 而不是 data.Try 也删除此扩展并执行所有操作我有 suggest.Hope 它会很好用