HTTP Part Serializers
There is a separate set of serializers for serializing HTTP parts (query, form-data, headers, path variables, and plain-text request bodies).
The distinction is that these are designed to serialize directly to strings based on Open-API schema information.
// Schema information about our part.
HttpPartSchema schema = HttpPartSchema
.create("array")
.collectionFormat("pipes")
.items(
HttpPartSchema
.create("array")
.collectionFormat("csv")
.items(
HttpPartSchema.create("integer","int64")
)
)
.build();
// Our value to serialize
Object value = new long[][]{{1,2,3},{4,5,6},{7,8,9}};
// Produces "1,2,3|4,5,6|7,8,9"
String output = OpenApiSerializer.DEFAULT.serialize(HttpPartType.HEADER, schema, value);
The class hierarchy for the part serializers are:
- {@link oaj.httppart.HttpPartSerializer}
- {@link oaj.httppart.SimplePartSerializer} - Serializes directly to strings.
- {@link oaj.uon.UonSerializer} - Serializes to UON notation.
- {@link oaj.oapi.OpenApiSerializer} - Serializes using Open-API schema rules.