diff --git a/src/main/java/io/weaviate/client6/v1/api/cluster/ShardReplica.java b/src/main/java/io/weaviate/client6/v1/api/cluster/ShardReplica.java index 4cd6304e1..9ea79e7c4 100644 --- a/src/main/java/io/weaviate/client6/v1/api/cluster/ShardReplica.java +++ b/src/main/java/io/weaviate/client6/v1/api/cluster/ShardReplica.java @@ -2,5 +2,9 @@ import java.util.List; -public record ShardReplica(String shardName, List replicas) { +import com.google.gson.annotations.SerializedName; + +public record ShardReplica( + @SerializedName("shard") String shardName, + @SerializedName("replicas") List replicas) { } diff --git a/src/test/java/io/weaviate/client6/v1/internal/json/JSONTest.java b/src/test/java/io/weaviate/client6/v1/internal/json/JSONTest.java index e7c0d6203..02ce6d4ba 100644 --- a/src/test/java/io/weaviate/client6/v1/internal/json/JSONTest.java +++ b/src/test/java/io/weaviate/client6/v1/internal/json/JSONTest.java @@ -15,6 +15,8 @@ import com.jparams.junit4.data.DataMethod; import io.weaviate.client6.v1.api.cluster.NodeVerbosity; +import io.weaviate.client6.v1.api.cluster.ShardReplica; +import io.weaviate.client6.v1.api.cluster.ShardingState; import io.weaviate.client6.v1.api.collections.CollectionConfig; import io.weaviate.client6.v1.api.collections.Encoding; import io.weaviate.client6.v1.api.collections.Generative; @@ -2269,6 +2271,22 @@ public static Object[][] testCases() { } """ }, + // ShardingState: the server names the shard "shard", not "shardName" + { + ShardingState.class, + new ShardingState("Things", List.of(new ShardReplica("s1", List.of("node1", "node2")))), + """ + { + "collection": "Things", + "shards": [ + { + "shard": "s1", + "replicas": ["node1", "node2"] + } + ] + } + """ + }, }; }