DEV Community


Posted on • Updated on

How to make all textual response as UTF-8 on Jooby

Only 3 steps. (on 2.x or later)

  • Use Decorator.
  • Make handler with set current response type and charset UTF-8.
  • return next.apply(ctx); for next response procedure.
import io.jooby.Jooby;
import io.jooby.MediaType;
import java.nio.charset.StandardCharsets;

public class App extends Jooby {

    // use Decorator.
    decorator(next -> ctx -> {
      // get response content-type.
      final MediaType responseType = ctx.getResponseType();
      // if content-type is text-specific
      // override response type with current media type and always use UTF-8 charset!
        ctx.setResponseType(responseType, StandardCharsets.UTF_8);
      // pipe next response procedure.
      return next.apply(ctx);

    get("/", ctx -> "Abc가나다漢文");

  public static void main(final String[] args) {
    runApp(args, App::new);
Enter fullscreen mode Exit fullscreen mode

Then run jooby application, connect localhost:8080 or your another application host on your browser and see your unicode response.

Simple and easy ♡!

27 Jul, 2021: getRequestType -> getResponseType

Top comments (0)