Your @POST method should be accepting a JSON object instead of a string. Jersey uses JAXB to support marshaling and unmarshaling JSON objects (see the jersey docs for details). Create a class like: @XmlRootElement public class MyJaxBean { @XmlElement public String param1; @XmlElement public String param2; } Then your @POST method would look like the following: @POST @Consumes("application/json") @