2017-10-17 65 views
0

功能我已經註冊的功能如下:OData的行動,並同一條路線

individualType.Function(nameof(IndividualsController.Photo)).Returns<byte[](); 

功能的定義是:

/// <summary> 
/// Returns a photo for the specified individual. 
/// </summary> 
[HttpGet] 
[AllowAnonymous] 
public IHttpActionResult Photo([FromODataUri] int key, [FromUri] string size = "M", [FromUri] string shape = "S") 

的請求已經在爲我們能夠上傳照片。所需的方法是發佈到相同的端點。

當我按以下方式註冊操作時,兩個端點都不起作用。

var action = individualType.Action(nameof(IndividualsController.Photo)); 
action.Parameter<string>("hexEncodedPhoto"); 
action.Returns<UploadIndividualPhotoResult>(); 

當我改變它,這兩個工作,但在不同的端點是不可取的。

var action = individualType.Action(nameof(IndividualsController.UploadPhoto)); 
action.Parameter<string>("hexEncodedPhoto"); 
action.Returns<UploadIndividualPhotoResult>(); 

此方法的簽名是目前:

[HttpPost] 
[Auth(AccessRight = SecurityType.PeopleEdit)] 
public async Task<IHttpActionResult> UploadPhoto([FromODataUri] int key, ODataActionParameters parameters) 

是否有可能有兩種功能:(GET)和OData的同一航線上的動作(POST)?

回答

0

從OData規範的角度來看,同一名稱空間下的每個元素都應該有唯一的名稱。所以,我認爲你的要求不合理。

請讓我知道,如果它是錯誤的。