Interface Form

  • All Superinterfaces:
    Map<String,​String>, MultiValueMap<String,​String>

    public interface Form
    extends MultiValueMap<String,​String>
    An uploaded form.

    The form is modelled as a MultiValueMap, with extra methods for dealing with file uploads. That is, uploaded files are not visible via the methods provided by MultiValueMap.

    All instances of this type are immutable. Calling any mutative method of MultiValueMap will result in an UnsupportedOperationException.

    Example usage:

    
     import ratpack.core.handling.Handler;
     import ratpack.core.handling.Context;
     import ratpack.core.form.Form;
     import ratpack.core.form.UploadedFile;
    
     import java.util.List;
    
     public class Example {
       public static class FormHandler implements Handler {
         public void handle(Context context) throws Exception {
           context.parse(Form.class).then(form -> {
             UploadedFile file = form.file("someFile.txt");
             String param = form.get("param");
             List<String> multi = form.getAll("multi");
             context.render("form uploaded!");
           });
         }
       }
     }
     

    To include the query parameters from the request in the parsed form, use form(boolean). This can be useful if you want to support both GET and PUT submission with a single handler.

    • Method Detail

      • file

        @Nullable
        UploadedFile file​(String name)
        Return the first uploaded file with the given name.
        Parameters:
        name - The name of the uploaded file in the form
        Returns:
        The uploaded file, or null if no file was uploaded by that name
      • files

        List<UploadedFile> files​(String name)
        Return all of the uploaded files with the given name.
        Parameters:
        name - The name of the uploaded files in the form
        Returns:
        The uploaded files, or an empty list if no files were uploaded by that name
      • form

        static Parse<Form,​FormParseOpts> form​(boolean includeQueryParams)
        Creates a parseable object to parse a request body into a Form.
        Parameters:
        includeQueryParams - whether to include the query parameters from the request in the parsed form
        Returns:
        a parse object