Asp.net mvc $resource返回一个空对象

Asp.net mvc $resource返回一个空对象,asp.net-mvc,angular-resource,Asp.net Mvc,Angular Resource,我使用$resource从服务器获取数据,该服务器从我的angular controller调用ASP.NET MVC控制器。MVC控制器正确返回值(类型为decimal?),但解析承诺后,其参数仅为空对象,而不是预期值 $资源文件: angular .module('app') .service('datacontext', function ($rootScope, $resource) { return { emissions: $reso

我使用$resource从服务器获取数据,该服务器从我的angular controller调用ASP.NET MVC控制器。MVC控制器正确返回值(类型为decimal?),但解析承诺后,其参数仅为空对象,而不是预期值

$资源文件

angular
    .module('app')
    .service('datacontext', function ($rootScope, $resource) {

    return {
            emissions: $resource('/api/emissions/:id', { 'id': '@id', emissionId: '@emissionId' },
            {                    
                create: { method: 'POST' },
                lock: { method: 'PUT', url: "/api/emissions/lock" },
                getFxRate: { method: 'GET', isArray: false, url: '/api/emissions/getfxrate'}
            })
     }
 function getRate(currency){
  datacontext.emissions.getFxRate({ currency: currency})
    .$promise.then(function (result) {

         //Here result is just an empty object {}
    }
  }
ASP.NET MVC控制器

[HttpGet]
[Route("/api/emissions/getfxrate")]
public async Task<IHttpActionResult> GetFxRate(string currency)
{
     var res = await _emissionsAppService.GetFxRateAsync(currency);

     //Here I get properly a decimal value as expected. (eg. 1.07123)
     return Ok(res);
}

我无法理解从服务器返回到客户端控制器的值缺少了什么

当我返回一个原语值时,解析的承诺是空的,因为需要一个JSON对象

我可以通过向$resource添加以下代码来修复它。只要我返回一个对象,我就可以正确地获取承诺中的值:

getFxRate: {
     method: 'GET',
     isArray: false,
     url: '/api/emissions/getfxrate',
     transformResponse: function (data) {
             return { fxRate: data };
         }
    }