Class JsonProtocolMarshallerBuilder
java.lang.Object
software.amazon.awssdk.protocols.json.internal.marshall.JsonProtocolMarshallerBuilder
Builder to create an appropriate implementation of
ProtocolMarshaller for JSON based services.-
Method Summary
Modifier and TypeMethodDescriptionbuild()contentType(String contentType) create()hasAwsQueryCompatible(boolean hasAwsQueryCompatible) jsonGenerator(StructuredJsonGenerator jsonGenerator) Sets the implementation ofStructuredJsonGeneratorwhich allows writing JSON or JSON like (i.e.operationInfo(OperationInfo operationInfo) protocolMetadata(AwsJsonProtocolMetadata protocolMetadata) sendExplicitNullForPayload(boolean sendExplicitNullForPayload)
-
Method Details
-
create
- Returns:
- New instance of
JsonProtocolMarshallerBuilder.
-
endpoint
- Parameters:
endpoint- Endpoint to set on the marshalled request.- Returns:
- This builder for method chaining.
-
jsonGenerator
Sets the implementation ofStructuredJsonGeneratorwhich allows writing JSON or JSON like (i.e. CBOR and Ion) data formats.- Parameters:
jsonGenerator- Generator to use.- Returns:
- This builder for method chaining.
-
contentType
- Parameters:
contentType- The content type to set on the marshalled requests.- Returns:
- This builder for method chaining.
-
operationInfo
- Parameters:
operationInfo- Metadata about the operation like URI, HTTP method, etc.- Returns:
- This builder for method chaining.
-
sendExplicitNullForPayload
- Parameters:
sendExplicitNullForPayload- True if an explicit JSON null should be sent as the body when the payload member is null. SeeNullAsEmptyBodyProtocolRequestMarshaller.
-
protocolMetadata
- Parameters:
protocolMetadata-
-
hasAwsQueryCompatible
- Parameters:
hasAwsQueryCompatible- True if the service is AWS Query compatible, (has the @awsQueryCompatible trait)
-
build
- Returns:
- New instance of
ProtocolMarshaller. IfsendExplicitNullForPayloadis true then the marshaller will be wrapped withNullAsEmptyBodyProtocolRequestMarshaller.
-