Breeze EntityQuery.from()with参数post to api不起作用



我有这种代码的平静:

function getSopMatches(data) {
        return EntityQuery.from('GetSopMatches')
            .withParameters({
                $method: 'POST',
                $encoding: 'JSON',
                $data: data
            })
            .using(manager).execute()
            .then(success)
            .catch(_queryFailed);
        function success(response) {
            return response.results;
        }
    }

通过以下方式称呼它:

playerService.getSopMatches({ playerId: vm.player.id, competitionId: career.competitionId, seasonId: career.seasonId, teamId: career.teamId }).then(function (results) { //do something with it });

在我的MVC控制器(BreezeController(中,该方法就像:

[HttpPost]
    public IQueryable<object> GetSopMatches(SopMatch sop)
    {
        //this method is not called, I get a 405 Method not Allowed
    }

某种程度上,实际呼叫是一个获取的,而不是帖子,因此我得到405方法不允许错误消息。

我在同一项目(客户端JavaScript/Breeze呼叫和服务器端MVC控制器方法(中有其他代码。

有人知道我在做什么错,还是为什么将其更改为Get方法?

尝试和失败一天后,我找到了一个解决方案。

看来,在角控制器中,我正在注射微风,这引起了问题。当微风注入控制器或服务中时,它会弄乱帖子的URL,因此您会收到405(因为更改了URL(。

最新更新