There are several ways to pass multiple parameters to Controller Methods. One such option is using multiple @FormParam parameters like this example of a Login Submit @POST method.
Another option is the MultivaluedMap<String, String> option where we convert the map to our POJO.
I propose you consider @BeanParam as a superior approach to multiple parameters. As you can see we are for all practical purposes dealing directly with the POJO, no conversion necessary.
To enable @BeanParam to work we need to specify the @FormParam properties in our POJO.
It's important to note that @BeanParam supports ALL @…Param types, and even @Context. The JAX-RS runtime inspects the @BeanParam parameter’s type for injection annotations and then sets them accordingly. Here's a good example from the Javax Docs on using multiple @…Param types.
In the Form HTML
In the Form HTML there is nothing special we need to do other than be sure our field names correspond to the POJO @FormParam names, like "fullName" in the HTML below.
Testing with @BeanParam
When testing a multiple parameter @POST it's important to remember we are building a FORM as you see in the @FormParam properties here.
Source Code Notes for this Post
Source code discussed in this post is found in my File Upload Download in Bootique Jersey Demo app on GitHub.