ffl*_*dro 8 java rest json jaxb jersey
我正在尝试在Java中实现RESTful服务,该服务通过PUT请求接收JSON对象并自动映射到Java对象.我设法用XML做到这一点,但我不能用JSON做到这一点.这就是我想要做的事情:
@PUT
@Consumes(MediaType.APPLICATION_XML)
public String putTodo(JAXBElement<Route> r) {
Route route = r.getValue();
route.toString();
System.out.println("Received PUT XML Request");
return "ok";
}
Run Code Online (Sandbox Code Playgroud)
这有效,但使用JSON会类似,但我不能使用JAXB,可以吗?
@PUT
@Consumes(MediaType.APPLICATION_JSON)
public String putTodo(<WHAT DO I PUT HERE>) {
Route route = r.getValue();
route.toString();
System.out.println("Received PUT JSON Request");
return "ok";
}
Run Code Online (Sandbox Code Playgroud)
默认情况下,Jersey将使用JAXB通过利用Jettison库来处理JSON消息.
所以你可以做到以下几点:
@PUT
@Consumes({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
public String putTodo(JAXBElement<Route> r) {
Route route = r.getValue();
route.toString();
System.out.println("Received PUT XML/JSON Request");
return "ok";
}
Run Code Online (Sandbox Code Playgroud)
有关使用Jettison与JAXB的更多信息:
| 归档时间: |
|
| 查看次数: |
10938 次 |
| 最近记录: |