Hello!

In order to use HTTP REST API with non-primitive objects you will have to
implement ConnectorMessageInterceptor
<https://ignite.apache.org/releases/latest/javadoc/org/apache/ignite/configuration/ConnectorMessageInterceptor.html>
in Java. Then you can hook it in Ignite Spring XML config. Unfortunately,
there's no support for writing it on DotNet side currently, but you can
carry it around as a Java library.

Regards.
-- 
Ilya Kasnacheev


чт, 13 сент. 2018 г. в 17:36, Som Som <[email protected]>:

> Hi.
>
>
>
> What is a right way to add TestEntity(it has 2 fields) into the cache via
> REST API.
>
>
>
> This is how I created TestEntity cache:
>
>
>
> public class TestEntity
>
>     {
>
>         public string ValueString { get; set; }
>
>
>
>         public DateTime ValueDateTime { get; set; }
>
>     }
>
>
>
>     class Program
>
>     {
>
>         static void Main(string[] args)
>
>         {
>
>             var ignite = Ignition.StartClient(newIgniteClientConfiguration
>
>             {
>
>                 Host = "127.0.0.1"
>
>                 ,
>
>                 BinaryConfiguration = newApache.Ignite.Core.Binary.
> BinaryConfiguration { Serializer = new Apache.Ignite.Core.Binary.
> BinaryReflectiveSerializer { ForceTimestamp = true } }
>
>             });
>
>
>
>             var queryEntity = new QueryEntity();
>
>             queryEntity.KeyTypeName =typeof(int).FullName;
>
>             queryEntity.KeyType = typeof(int);
>
>
>
>             queryEntity.ValueTypeName =typeof(TestEntity).FullName;
>
>             queryEntity.ValueType = typeof(TestEntity);
>
>
>
>             queryEntity.Fields = new QueryField[]
>
>             { new QueryField("ValueString", typeof(string))
>
>             , new QueryField("ValueDateTime",typeof(DateTime))
>
>             };
>
>
>
>             var cache = ignite.GetOrCreateCache<int,TestEntity>(
>
>                                            newCacheClientConfiguration(
> "TestEntity", queryEntity) { SqlSchema = "PUBLIC" });
>
>
>
>
>
>             //cache.Put(1, new TestEntity { ValueString = "test",
> ValueDateTime = DateTime.UtcNow });
>
>
>
>             ignite.Dispose();
>
>         }
>
>     }
>

Reply via email to