The @FormParam is utilized when the content type of the request entity is not application/x-www-form-urlencoded]

14,153

From the looks of it, you should be using @FormDataParam instead of @FormParam.

I found it here: https://groups.google.com/forum/#!topic/dropwizard-user/bYyG-Pvk29Y, but still don't quite understand the reasoning.

Share:
14,153
Admin
Author by

Admin

Updated on June 14, 2022

Comments

  • Admin
    Admin almost 2 years

    I'm trying to create a simple login feature for my website. I'm using JAVA as backend and I'm trying to use restservices. My school gave me an example of a login system with authication. Unfortunately I'm getting this error: java.lang.IllegalStateException: The @FormParam is utilized when the content type of the request entity is not application/x-www-form-urlencoded].

     @POST
     @Consumes(MediaType.APPLICATION_FORM_URLENCODED)
     public Response authenticateUser(@FormParam("username") String username,
     @FormParam("password") String password) {
    
     <form id='inlogForm' enctype="application/x-www-form-urlencoded" >
        <input type='text' placeholder='username' id='username' />
        <input type='text' placeholder='password' id='password' />
        <input type='button' value='login' id='login' />
        </form>
        </header>   
    </body>
    <script src="https://code.jquery.com/jquery-3.2.0.min.js"></script>
    <script>
        $("#login").click(function(event) {
            var data = $("#loginForm").serialize();
            $.post("restservices/authentication", data, function(response) {
                window.sessionStorage.setItem("sessionToken", response);
                $("#loginForm").hide();
            }).fail(function(jqHXR, textStatus, errorThrown) {
                console.log(textStatus);
                console.log(errorThrown);
                alert("Wrong Username/Password")
            });
        });