0
は、私はこのような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])
私たちは、オプションのようにパラメータを設定できることがわかりました。何か案が ?
ありがとうございました!
で試すことができます。だから私はjavascriptの各パラメータをチェックしなければならない、値があるかどうか見てください。そうでない場合は、パラメータをnullで埋めるだけです。それは、私が実際にユーザーによって設定されたパラメータからの値を本当に必要としていても、データベースからすべてのパラメータ定義をロードする必要があるため、悪いことです。 – Sproulx