我在Jaydata版本1.3.6(使用OData V3)上工作,並且我有服務操作和操作的問題,他們都提交wia GET方法而不是POST ...Jaydata ServiceOperation和Action方法POST被忽略
由於我的$過濾器請求對GET請求(限制字符串長度)很大,所以我必須將GET更改爲POST。
我試着像很多可能性:
$data.EntityContext.extend('Default.Container', {
'Items': { type: $data.EntitySet, elementType: Entities.Item, method: 'POST' },
'GetItemsAction': { type: $data.ServiceAction, returnType: $data.Queryable, elementType: 'Entities.Item', 'EntitySet': 'Item', params: [] },
'GetItemsOperation': { type: $data.ServiceOperation, returnType: $data.Queryable, elementType: 'Entities.Item', 'EntitySet': 'Item', params: [], method: 'POST' }
});
維護操作是爲了有方法的動作在默認情況下的職位,但它總是在GET,即使我手動設置方法爲ServiceOperation該方法的參數被忽略......
我在POST設置一個.net的OData控制器與我的方法:
[EnableQuery]
public IQueryable<Item> Get(ODataQueryOptions<Item> options)
{
return this._itemRepository.GetAll();
}
[HttpPost]
[EnableQuery]
public IQueryable<Item> GetItemsAction(ODataQueryOptions<Item> options)
{
return this._itemRepository.GetAll();
}
[HttpPost]
[EnableQuery]
public IQueryable<Item> GetItemsOperation(ODataQueryOptions<Item> options)
{
return this._itemRepository.GetAll();
}
是否存在與implementati問題Jaydata的?
感謝您的建議!