Jersey JAX-RS использование @FormParam

В JAX-RS использование @FormParam позволяет связать поля формы с параметрами метода сервиса. Рассмотрим на простом примере, как это делается.

Создаем форму

<html>
  <head>
  </head>
  <body>
    <form action="services/hello/form" method="POST">
      <p>
        <b>First name: </b>
        <input type="text" name="firstName" />
      </p>
      
      <p>
        <b>Last name:</b>
        <input type="text" name="lastName" />
      </p>
      
      <input type="submit">
    </form>
  </body>
</html>

Создаем сервис

Класс сервиса, который принимает параметры из формы приведен ниже:

package ru.mydesignstudio.rest;

import javax.ws.rs.FormParam;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.core.Response;

@Path("/hello")
public class RestService {
    @POST
    @Path("/form")
    public Response helloFromForm(
    		@FormParam("firstName") String firstName,
    		@FormParam("lastName") String lastName) {
    	
    	return Response.ok()
    			.entity("First name: " + firstName + ", last name: " + lastName)
    			.build();
    }
}

Здесь в @FormParam указываем, с каким полем формы связан параметр метода.

Демо

Форма

JAX-RS использование @FormParam
JAX-RS использование @FormParam

Результат сабмита формы:

JAX-RS использование @FormParam
JAX-RS использование @FormParam