Breeze EntityQuery.from()withParameters POST到API不起作用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Breeze EntityQuery.from()withParameters POST到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
}
不知何故,实际调用是GET,而不是POST,因此我得到405 Method not Allowed错误消息。
我在同一个项目(客户端javascript / breeze调用和服务器端mvc控制器方法)中有其他代码可以正常工作。
有人知道我做错了什么,或者为什么改成GET方法?
答案
经过一天的尝试和失败,我找到了解决方案。
似乎在角度控制器中我注入微风,这导致了问题。当breeze注入控制器或服务时,它会弄乱POST的URL,因此您会收到405(因为URL已更改)。
以上是关于Breeze EntityQuery.from()withParameters POST到API不起作用的主要内容,如果未能解决你的问题,请参考以下文章
使用开源Breeze工具部署Kubernetes 1.12.1高可用集群
Breeze# 用于 Xamarin.Forms(UWP、Droid 和 iOS)?