nar*_*rsi 2 java rest json web-services jersey
我正在使用Jersey开发REST应用程序并在我的服务中创建CRUD操作.
我的问题是如何将JSON绑定为方法中的对象.我无法使用JSON请求执行保存操作.
所以请提供我开发CRUD应用程序的任何有用示例.
Jersey JSON支持是一组扩展模块,如MOXy和Jackson.
通过MOXy的 JSON绑定支持是自Jersey 2.0以来在Jersey应用程序中支持JSON绑定的默认方式.当JSON MOXy模块位于类路径上时,Jersey将自动发现模块并通过MOXy在应用程序中启用JSON绑定支持.
要将MOXy用作JSON提供程序,您需要将jersey-media-moxy模块添加到pom.xml文件中:
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-moxy</artifactId>
<version>2.22.1</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
如果您不使用Maven,请确保在类路径上具有所有必需的依赖项.
使用MOXy,您可以使用JAXB注释来控制JSON的生成方式.
要将Jackson 2.x用作JSON提供程序,您需要将jersey-media-json-jackson模块添加到您的pom.xml文件中:
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-json-jackson</artifactId>
<version>2.22.1</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
如果您不使用Maven,请确保在类路径上具有所有必需的依赖项.
Jackson 2.x提供了一组丰富的注释来控制如何从POJO生成JSON.
定义将从/向JSON封送的POJO.以下面的类为例:
public class Book implements Serializable {
private Long id;
private String title;
private String description;
public Book {
}
// getters and setters ommited
}
Run Code Online (Sandbox Code Playgroud)
根据您的JSON提供程序,您可以使用注释POJO来控制JSON的生成方式.
创建REST端点.要将数据用作JSON,只需使用注释即可@Consumes(MediaType.APPLICATION_JSON).要生成JSON,请使用它进行注释@Produces(MediaType.APPLICATION_JSON).
考虑以下类作为开始的示例:
@Path("/books")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public class BookEndpoint {
@POST
public Response create(Book book) {
...
}
@GET
@Path("/id")
public Response read(@QueryParam("id") Long id) {
...
}
@PUT
@Path("/id")
public Response update(@QueryParam("id") Long id, Book book) {
...
}
@DELETE
@Path("/id")
public Response delete(@QueryParam("id") Long id) {
...
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6149 次 |
| 最近记录: |