2016-06-29 4 views
3

Ich entwickle Web-Anwendung basierend auf Jersey REST API. Ich entwickle einen POST-Dienst basierend auf Client-Anforderungen (Eingabeparameter im JSON-Format) und funktioniert gut. Jetzt möchten sie das Eingabeformat wie folgt ändern. Jetzt bekomme ich 415 Fehler (nicht unterstützter Medientyp).Verbrauchen Sie einen Körper, der nicht ganz JSON ist

Das ist alte JSON-Format und seine Werke gut:

{ 
    "weight": 5.0, 
    "length": 1.5, 
    "width": 2.7, 
    "height": 0.7 
} 

und dies das Format Client senden müssen.

{ 
weight = 12; 
with = 78; 
height = 78; 
length = 5; 
} 

und das ist mein POST Service:

@POST 
@Path("/insert") 
@Consumes({MediaType.TEXT_PLAIN}) 
@Produces({MediaType.APPLICATION_JSON}) 

zuvor iam

@Consumes({MediaType.APPLICATION_JSON}) 
@Produces({MediaType.APPLICATION_JSON}) 

Antwort

6

mit JSON Es ist nicht mehr. Sehen Sie sich http://www.json.org/ an und Sie werden sehen, dass eine Zeichenfolge für einen Parameternamen in doppelte Anführungszeichen eingeschlossen werden muss. Sie müssen also entscheiden, entweder den Client anzuhören und Ihre eigene MessageBodyReader für dieses benutzerdefinierte Format zu erstellen oder dem Client mitzuteilen, dass er gültige JSON-Dateien senden muss.

Verwandte Themen