DInject has moved to avaje.io/http - taking you there now ...


With the annotation processor we have chosen to use our own annotations for @Path, @Get etc rather than use the JAX-RS ones.

Why not use the standard JAX-RS annotatons?

  • The JAX-RS API dependency also has a LOT of other stuff we don't want ... (we could work around this)
  • We can improve on JAX-RS making our controllers less verbose ... (the main reason)
  • We may support JAX-RS annotations at some future point ... (but lets see how good it can be)


The goal is to be as good as we can be and not suffer from annotation overload (be better than JAX-RS).

DInject Javalin


@Controller -
@Path @Path

HTTP Methods

@Delete @DELETE + @Path
@Get @GET + @Path
@Post @POST + @Path
@Put @PUT + @Path
@Patch @PATCH + @Path

Bean parameters

@Form -
@BeanParam @BeanParam


Not needed (implied) @PathParam
Not needed (implied) @MatrixParam
@FormParam + @Default @FormParam + @DefaultValue
@QueryParam + @Default @QueryParam + @DefaultValue
@Header @HeaderParam
@Cookie @CookieParam