2017-06-16 43 views
1

我尝试后与一个API接受一个整数参数不接受我传递的参数,而是接受默认的int参数。 我可以知道错误在哪里吗?张贴到整数参数不是angularJs工作的API

+0

寻求调试帮助的问题(“**为什么不是这个代码工作?”)必须包括所需的行为,特定的问题或错误以及在问题中重现它所需的最短代码**本身**。没有**明确问题陈述**的问题对其他读者没有用处。请参阅:如何创建[mcve]。 – Nkosi

回答

0

由于这是一个POST,请尝试使用该参数的[FromBody]属性,让模型绑定知道去哪里找数据

[HttpPost] 
[Route("api/users/error-counts/")] 
public MultiCategorySeriesDto<int> GetErrorCounts([FromBody]int numberOfDays = 15) 
{ 
    return _uow.Events.Errors(numberOfDays); 
} 
+0

它接受可选参数吗?因为我得到了'FormatterParameterBinding'不支持的异常'“可选参数'numberOfDays'。” – DoIt

1

尝试使用视图模型:

public class MyViewModel 
{ 
    public int NumberOfDays { get; set; } 
} 

您的控制器动作将作为参数:

[HttpPost] 
[Route("api/users/error-counts/")] 
public MultiCategorySeriesDto<int> GetErrorCounts(MyViewModel model) 
{ 
    return _uow.Events.Errors(model.NumberOfDays); 
} 
0

以下代码适用于我,使用与您的问题中发布的API相同的代码。

global.Himanshu.ErrorServices.factory('errorcountservices', ['$q', '$http', function ($q, $http) { 
    return {getDailyErrors: fucntion() { 
      var deffered = $q.defer(); 
      $http({ 
       method: 'POST', 
       url:/api/users/error-counts/', 
       params: { 
        numberOfDays: 5 
       },      
      }).then(function (response) { 
       deffered.resolve(response.data); 
      },function (response) { 
       deffered.reject(response.data); 
      }) 
      return deffered.promise; 
     }}