나는이 같은 GeminiTickets에 대한 함수를 정의 :선택적 매개 변수 중 하나로, OData 기능 C#을
GeminiTicketsController에서var geminiTickets = builder.EntitySet<GeminiTicket>("GeminiTickets");
var geminiTicketsParam = geminiTickets.EntityType.Collection
.Function("GetNewTickets")
.Returns<ReportDataVM>();
geminiTicketsParam.CollectionParameter<int>("projectIds");
geminiTicketsParam.Parameter<DateTime?>("startDate");
geminiTicketsParam.Parameter<DateTime?>("endDate");
이 ...
public async Task<IHttpActionResult> GetNewTickets([FromODataUri] List<int> projectIds, DateTime? startDate = null, DateTime? endDate = null) {...};
나는 모든 매개 변수를 사용하여이 기능에 액세스하려면, 모든 것이 괜찮습니다 : http://example.com/odata/GeminiTickets/Service.GetNewTickets(projectIds=[1,2,3],startDate=2016-06-10,endDate=2016-06-22)
하지만 매개 변수를 보내지 않으면 예를 들어 보내려고합니다. 단지 projectIds는 IIS 나에게 500 내부 오류를 제공합니다 :
geminiTicketsParam.Parameter<DateTime?>("startDate").OptionalParameter = true;
을하지만 아무것도하지 않는 것 : http://example.com/odata/GeminiTickets/Service.GetNewTickets(projectIds=[1,2,3])
는 우리가 선택 사항이 될 수있는 매개 변수를 설정할 수 있습니다 것을 발견했다. 어떤 생각?
감사합니다.
그래으로 시도 할 수 있습니다, 그것은 null이 될 수 있다는 것을 의미합니다. 그래서 자바 스크립트에있는 각 매개 변수를 확인하고 값이 있는지 살펴보아야합니다. 그렇지 않으면 null로 매개 변수를 채 웁니다. 데이터베이스에서 모든 매개 변수 정의를로드해야하기 때문에 사용자가 설정 한 매개 변수의 값이 실제로 필요하기 때문에 나쁘다. – Sproulx