序列化更改 - Amazon SDK for Java 2.x
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

序列化更改

SDK for Java v1.x 和 v2.x 的不同之处在于它们如何序列化列表对象以请求参数。

SDK for Java 1.x 不会序列化空列表,而 SDK for Java 2.x 会将空列表序列化为空参数。

例如,假设一项服务具有 SampleOperation,会接收 SampleRequestSampleRequest 接受两个参数,字符串类型 str1 和列表类型 listParam,如以下示例所示。

例 1.x 中 SampleOperation 的示例
SampleRequest v1Request = new SampleRequest() .withStr1("TestName"); sampleServiceV1Client.sampleOperation(v1Request);

线级日志记录显示 listParam 参数未序列化。

Action=SampleOperation&Version=2011-01-01&str1=TestName
例 2.x 中 SampleOperation 的示例
sampleServiceV2Client.sampleOperation(b -> b .str1("TestName"));

线级日志记录显示 listParam 参数进行了序列化,没有任何值。

Action=SampleOperation&Version=2011-01-01&str1=TestName&listParam=