2017-10-17 1 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 스펙 관점에서 보면 동일한 네임 스페이스 아래의 모든 요소에는 고유 한 이름이 있어야합니다. 따라서 귀하의 요구 사항이 합리적이라고 생각하지 않습니다.

잘못 되었으면 알려주십시오.

관련 문제