@FormParam

The @javax.ws.rs.FormParam annotation injects the matching HTML form parameters present in the request body into a class field, a resource class bean property (the getter method for accessing the attribute), or a method parameter. The request body carrying the form elements must have the content type specified as application/x-www-form-urlencoded.

Consider the following HTML form that contains the data capture form for a department entity. This form allows the user to enter the department entity details:

<!DOCTYPE html> 
<html> 
  <head> 
  <title>Create Department</title> 
  </head> 
  <body> 
    <form method="POST" action="/resources/departments"> 
    Department Id:  
    <input type="text" name="departmentId"> 
    <br> 
    Department Name:  
      <input type="text" name="departmentName"> 
      <br> 
      <input type="submit" value="Add Department" /> 
    </form> 
  </body> 
</html> 

Upon clicking on the submit button on the HTML form, the department details that you entered will be posted to the REST URI, /resources/departments. The following code snippet shows the use of the @FormParam annotation for extracting the HTML form fields and copying them to the resource class method parameter:

@Path("departments") 
public class DepartmentService { 
 
  @POST 
  //Specifies content type as  
  //"application/x-www-form-urlencoded" 
  @Consumes(MediaType.APPLICATION_FORM_URLENCODED) 
  public void createDepartment(@FormParam("departmentId") short   
    departmentId,  
      @FormParam("departmentName") String departmentName) { 
      createDepartmentEntity(departmentId, departmentName); 
  } 
} 
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.116.62.168