2016-03-29 2 views
0

Die Client-Seite sendet die Anfrage im JSON-Format. Es sieht jedoch so aus, als ob der Wert nicht durch @FormParam Annotation erhalten werden kann. Ich habe versucht, die @Consumes(MediaType.APPLICATION_FORM_URLENCODED) zu ändern, aber es hat nicht funktioniert.@FormParam funktioniert nicht mit 'Content-Type': 'application/json'

Welche Art von Änderung soll ich auf der JAVA-Seite vornehmen, um die Daten korrekt zu empfangen?

Zum Beispiel JSON-Daten sind

var postData = { 
    'uipath': 'xxx\abc\location1', 
    'value': 'Hello World!' 
}; 

Die JAX-RS-Methode

@POST 
@Path(value = "/receive") 
public Object getValueFromUIPath(@Context UriInfo uriInfo, 
      @FormParam("uipath") String uiPath, 
      @FormParam("value") String value) { 
    ... 
} 
+0

Können Sie '@Consumes (" application/json ")' 'versuchen? und sehen, ob das funktioniert – Lucky

+0

JSON sollte immer in Anführungszeichen gesetzt werden. –

+0

Ich habe auch "application/json" versucht, aber es hat nicht mit @ FormParam Annotation funktioniert. – Iceglaze

Antwort

0

zu Ihrer Information ist

  1. Verwendung verbraucht annotaion
  2. json sollte in doppelten Anführungszeichen sein

und die Antwort kommt auf, erstellen Sie Json Objekt

{ 
    'uipath': 'xxx\abc\location1', 
    'value': 'Hello World!' 
} 

aber Sie sind wohl zwei String-Felder verbrauchen, kein Objekt. Sie haben zwei Optionen, ob Objekt verbrauchen haben zwei Felder uipath und value, oder senden Sie einfach einen Wert anstelle von JSON-Objekt.

Verwandte Themen