Webservice -> alle parameter bekommen von form

beta20

Top Contributor
Hallo zusammen,

ich möcht gerne ein Webservice programmieren, der mir von einem <form> alle Parameter ausliest.

Code:
<form method="post" action = "https://www.mydomain.com/mywebservice">
     <input type="text" name="field1">
     <input type="text" name="field2">
<input type="text" name="field3">
....
   <input type="submit" name = "Login" class="button">
</form>

Das Problem ist, dass das Form immer anders aussehen kann, also andere Namen der ID´s für die Felder hat.
Als "Action" soll es einen Webservice geben.

Nun möchte ich alle Werte der unterschiedlichen Felder des Formulars bekommen, ohne, dass ich 1000 "Form Param angeben muss?

Code:
import javax.ejb.Stateless;
import javax.ws.rs.FormParam;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;

   @POST
    @Path("/event")
    @Produces(MediaType.APPLICATION_JSON)
    public Response getFile(
            @FormParam("surname") String surname,
            @FormParam("name") String name) {

Kann ich auch irgendwie alle Parameter holen, diese in einer Liste speichern und dann wiederum mit einer Schleife durchgehen....

Kann hier jemand helfen?
 
Einfach eine MultiValueMap<String, String> injecten lassen.
Java:
@POST
@Path("/...")
@Consumes(APPLICATION_FORM_URLENCODED)
@Produces(APPLICATION_JSON)
public Response getFormDataUsingMultivaluedMap(MultivaluedMap<String, String> formParams) {
  // ...
  return Response.ok(Entity.json(...)).build();
}
 

Zurück
Oben