本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
序列化變更
Java v1.x 和 v2.x 的 SDK 在序列化列表對象以請求參數方面有所不同。
適用於 Java 1.x 的 SDK 不會序列化空列表,而 Java 2.x 的 SDK 將空列表序列化為空參數。
例如,假設SampleOperation
具有SampleRequest
. SampleRequest
接受兩個參數 — 字串類型str1
和 List 類型 listParam
— 如下列範例所示。
範例 的SampleOperation
在 1.x 中
SampleRequest v1Request = new SampleRequest() .withStr1("TestName"); sampleServiceV1Client.sampleOperation(v1Request);
線路層級記錄顯示listParam
參數未序列化。
Action=SampleOperation&Version=2011-01-01&str1=TestName
範例 的SampleOperation
在 2.x 中
sampleServiceV2Client.sampleOperation(b -> b .str1("TestName"));
線路層級記錄顯示listParam
參數已序列化,但沒有任何值。
Action=SampleOperation&Version=2011-01-01&str1=TestName&listParam=