java.lang.Object
io.jooby.jackson.JacksonModule
- All Implemented Interfaces:
io.jooby.Extension,io.jooby.MessageDecoder,io.jooby.MessageEncoder
public class JacksonModule
extends Object
implements io.jooby.Extension, io.jooby.MessageDecoder, io.jooby.MessageEncoder
JSON module using Jackson: https://jooby.io/modules/jackson.
Usage:
{
install(new JacksonModule());
get("/", ctx -> {
MyObject myObject = ...;
// send json
return myObject;
});
post("/", ctx -> {
// read json
MyObject myObject = ctx.body(MyObject.class);
// send json
return myObject;
});
}
For body decoding the client must specify the Content-Type header set to
application/json.
You can retrieve the ObjectMapper via require call:
{
ObjectMapper mapper = require(ObjectMapper.class);
}
Complete documentation is available at: https://jooby.io/modules/jackson.- Since:
- 2.0.0
- Author:
- edgar
-
Field Summary
Fields inherited from interface io.jooby.MessageDecoder
UNSUPPORTED_MEDIA_TYPEFields inherited from interface io.jooby.MessageEncoder
TO_STRING -
Constructor Summary
ConstructorsConstructorDescriptionCreates a Jackson module using the default object mapper fromcreate(Module...).JacksonModule(com.fasterxml.jackson.databind.ObjectMapper mapper) Creates a Jackson module.JacksonModule(com.fasterxml.jackson.databind.ObjectMapper mapper, io.jooby.MediaType contentType) Creates a Jackson module. -
Method Summary
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.jooby.Extension
lateinit
-
Constructor Details
-
JacksonModule
public JacksonModule(@NonNull com.fasterxml.jackson.databind.ObjectMapper mapper, @NonNull io.jooby.MediaType contentType) Creates a Jackson module.- Parameters:
mapper- Object mapper to use.contentType- Content type.
-
JacksonModule
public JacksonModule(@NonNull com.fasterxml.jackson.databind.ObjectMapper mapper) Creates a Jackson module.- Parameters:
mapper- Object mapper to use.
-
JacksonModule
public JacksonModule()Creates a Jackson module using the default object mapper fromcreate(Module...).
-
-
Method Details
-
module
Add a Jackson module to the object mapper. This method require a dependency injection framework which is responsible for provisioning a module instance.- Parameters:
module- Module type.- Returns:
- This module.
-
install
public void install(@NonNull io.jooby.Jooby application) - Specified by:
installin interfaceio.jooby.Extension
-
encode
- Specified by:
encodein interfaceio.jooby.MessageEncoder- Throws:
Exception
-
decode
- Specified by:
decodein interfaceio.jooby.MessageDecoder- Throws:
Exception
-
create
@NonNull public static com.fasterxml.jackson.databind.ObjectMapper create(com.fasterxml.jackson.databind.Module... modules) Default object mapper. InstallJdk8Module,JavaTimeModule,ParameterNamesModule.- Parameters:
modules- Extra/additional modules to install.- Returns:
- Object mapper instance.
-