public class Person {
private int id;
private String fname;
private String lname;
// getter and setter
}
< /code>
rest post service < /p>
@POST
@Consumes({MediaType.APPLICATION_JSON})
public void createPerson(JAXBElement
person) {
Person p = person.getValue();
System.out.println("========= Person ===========");
System.out.println(p.getFname() + " " + p.getLname());
System.out.println("========= Person ===========");
}
< /code>
или этот < /p>
@POST
@Consumes({MediaType.APPLICATION_JSON})
public void createPerson(Person person) {
System.out.println("========= Person ===========");
System.out.println(person.getFname() + " " + person.getLname());
System.out.println("========= Person ===========");
}
< /code>
тестовый клиент: всегда возвращайте 400 - плохой запрос. < /p>
ClientConfig config = new DefaultClientConfig();
Client client = Client.create(config);
WebResource service = client.resource("http://localhost:8084/rest/api/person");
Person person = new Person();
person.setId(1);
person.setFname("John");
person.setLname("Doe");
ClientResponse resp = service.type(MediaType.APPLICATION_JSON).post(ClientResponse.class, person);
System.out.println(resp.getStatus()); //Always return 400 - Bad request
< /code>
Любая помощь очень ценится. Кстати, я использую Джерси 1.8. Я могу заставить его работать в последней версии Джерси, но мне нужно заставить его работать также в предыдущей версии Джерси. < /P>
Mar 10, 2015 7:47:24 AM com.sun.jersey.api.client.filter.LoggingFilter log
INFO: 1 * Client out-bound request
1 > POST http://localhost:8084/rest/api/person
1 > Content-Type: application/json
{"fname":"d","id":"0","lname":"d"}
Mar 10, 2015 7:47:24 AM com.sun.jersey.api.client.filter.LoggingFilter log
INFO: 1 * Client in-bound response
1 < 400
1 < Date: Mon, 09 Mar 2015 23:47:24 GMT
1 < Content-Length: 1004
1 < Connection: close
1 < Content-Type: text/html;charset=utf-8
1 < Server: Apache-Coyote/1.1
1 <
Apache Tomcat/7.0.27 - Error report HTTP Status 400 - Bad Requesttype Status report
message Bad Request
description The request sent by the client was syntactically incorrect (Bad Request).
Apache Tomcat/7.0.27
< /code>
Вывод журнала сервера Apache Tomcat: (но я не думаю, что это имеет значение в 400 - плохой запросе?) < /p>
Mar 10, 2015 7:29:20 AM org.apache.catalina.core.StandardContext loadOnStartup
SEVERE: Servlet /billing threw load() exception
javax.servlet.ServletException: missing jspFile
at org.apache.jasper.servlet.JspServlet.init(JspServlet.java:123)
at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1266)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1185)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1080)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5015)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5302)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:895)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:871)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:615)
at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:649)
at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1585)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
< /code>
Зависимости (Jars): < /p>
- Aactivation.jar
- asm- 3.1.jar < /li>
commonj.sdo-2.1.1.1 - eclipselink-2.6.0-rc1
- Jackson-Jaxrs-1.7.1 < /li>
Javax.json-1.0.4 - Javax.persistence-2.1.0
- jaxb-api < /li>
jersey-apache-client-1.8 - jersey-bundle-1.8
< li> Jersey-client-1.8 < /li> - jersey-core-1.8
- jersey-json-1.8
- Jersey-server-1.8 < /li>
jsr173_1.0_api - jstl-1.2
- орг.eclipse.persistence. Moxy-2.6.0-rc1 < /li>
Servlet-API-22.5
>
Подробнее здесь: https://stackoverflow.com/questions/289 ... est-jax-rs