C# AngularJS$http和WebApi 2

C# AngularJS$http和WebApi 2,c#,.net,angularjs,asp.net-web-api,C#,.net,Angularjs,Asp.net Web Api,我有一个刚刚出现的问题。 我有一个Web API具有以下方法: [HttpGet] [Route("")] public IHttpActionResult Get(OrderRequestViewModel model) { var order = new orderHeader() { sordNo = model.OrderNumber, process = orderHeader.orderProcesses.Read };

我有一个刚刚出现的问题。 我有一个Web API具有以下方法:

[HttpGet]
[Route("")]
public IHttpActionResult Get(OrderRequestViewModel model)
{
    var order = new orderHeader()
    {
        sordNo = model.OrderNumber,
        process = orderHeader.orderProcesses.Read
    };

    order.processInfos.read_CoreHistory = model.ReadCoreHistory;

    var response = this.Connection.webServicesAdvanced.ordersHubAction_S(this.SecurityToken, order);

    switch (response.state)
    {
        case processorResult.resultEnum.failed:
        case processorResult.resultEnum.validationfailed:
            throw new HttpException(500, response.info);
        default:
            return Ok(new OrderResponseViewModel(response.obj));
    }
}
OrderRequestViewModel只有两个属性:OrderNumber(字符串)和ReadCoreHistory(布尔值)

在我的Angular JS应用程序中,我有一个如下所示的服务:

.factory('OrderService', ['$http', '$filter', 'apiUrl', function ($http, $filter, api) {
    var _get = function (orderNumber, readCoreHistory) {
        return $http.get(api + 'orders?orderNumber=' + orderNumber + '&readCoreHistory=' + readCoreHistory);
    }

    //-- removed for brevity --//

    var service = {};

    service.get = _get;

    //-- removed for brevity --//

    return service;
}])
当我从我的控制器调用get()方法时,如果我打开了fiddler,它会声明:

没有MediaTypeFormatter可用于从媒体类型为“application/octet stream”的内容中读取类型为“OrderRequestViewModel”的对象


显然,这是一个内容类型标题问题,但我无法访问可以看到的ajax调用选项。有人知道我如何解决这个问题吗?

GET
方法没有主体,复杂类型由ASP.NET WebAPI中请求主体的数据填充,您应该在方法签名中的复杂类型之前添加
[FromUri]
属性

public IHttpActionResult Get([FromUri] OrderRequestViewModel model)
{ ...

关于@kmcnamee的评论;我会确保你的电话到达了预期的终点。