Java Jersey是一個基于Java的RESTful Web服務框架,支持將Java對象轉化為JSON格式并進行數據傳輸。下面我們將介紹Java Jersey如何使用JSON進行數據交換。
首先,需要在pom.xml文件中引入jersey-media-json-jackson依賴。
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-json-jackson</artifactId>
<version>2.31</version>
</dependency>
接下來,在我們的Java類中添加注解。例如:
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
@Path("example")
public class ExampleResource {
@GET
@Produces(MediaType.APPLICATION_JSON)
public ExampleObject getExample() {
ExampleObject obj = new ExampleObject();
obj.setName("example");
obj.setNumber(1);
return obj;
}
}
注解@Path("example")指定了該服務的路徑,而注解@Produces(MediaType.APPLICATION_JSON)指定了該服務返回的數據類型為JSON格式。我們還可以使用注解@Consumes(MediaType.APPLICATION_JSON)來指定該服務能夠接受JSON格式的數據。
在上面的代碼中,我們定義了一個ExampleObject類,并在getExample()方法中返回了該類的一個實例。在此之前,我們需要為ExampleObject類添加Getter和Setter方法。
public class ExampleObject {
private String name;
private int number;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getNumber() {
return number;
}
public void setNumber(int number) {
this.number = number;
}
}
最后,在我們的應用程序中啟動服務即可。例如:
import org.glassfish.jersey.server.ResourceConfig;
import org.glassfish.jersey.server.ServerProperties;
public class App {
public static void main(String[] args) {
ResourceConfig config = new ResourceConfig(ExampleResource.class);
config.property(ServerProperties.BV_SEND_ERROR_IN_RESPONSE, true);
HttpServer server = GrizzlyHttpServerFactory.createHttpServer(URI.create("http://localhost:8080/"), config);
...
}
}
現在,我們已經可以通過訪問http://localhost:8080/example來獲取JSON格式的數據。
上一篇vue怎弄圓形