前提・実現したいこと
やりたいこと:LambdaでOdate形式のリクエストを処理するWEBAPIを作成したい。
現在できないこと:Lambdaの引数にOdata形式で送られてきた値を以下のクラス型で受け取ることができない
[ODataQueryOptions<TEntity>]
発生している問題・エラーメッセージ
Error converting the Lambda event JSON payload to type test.Controllers.SampleData: Error converting value "/odata/xxx?$filter=aaa eq 'bbb'" to type 'Microsoft.AspNet.OData.Query.ODataQueryOptions`1[Test.Models.Product]
Lambdaのテストイベント
{ "key1":"/odata/xxx?$filter=aaa eq 'bbb'" }
Lambdaのテストイベント
{ using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Threading.Tasks; using Microsoft.AspNet.OData; using Microsoft.AspNet.OData.Query; using Microsoft.AspNetCore.Mvc; using Microsoft.OData; using Microsoft.OData.UriParser; using Amazon.Lambda.Core; [assembly: LambdaSerializer(typeof(Amazon.Lambda.Serialization.Json.JsonSerializer))] namespace test.Controllers { public class ProductsController : ControllerBase { [HttpGet] [EnableQuery()] public IEnumerable<Product> GetHandler(SampleData sampleData, ILambdaContext context) { //ここでエラーがおきます! ODataQueryOptions<Product> options = sampleData.Key1; } ///////////質問とは関係ないため一部省略/////////// return options } public class SampleData { public ODataQueryOptions<Product> Key1 { get; set; } } } }
質問
①Json形式で受け取ったOdateのURLの値をODataQueryOptions<TEntity>型の変数に変換する方法を教えていただきたいです。
②Lambdaの引数の形式はJson以外の形式でも対応できるのでしょうか。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
あなたの回答
tips
プレビュー