[英]How does a java client access an integer array from a java RESTful web service
我正在重構我自己的問題: 通過REST返回一個原始數組
我正在使用Jersey,所以我無法理解應在服務器端和客戶端上添加哪些代碼/注釋以返回原語(字符串,整數,任何東西)的“數組”。 我可以在SOAP中很容易地做到這一點...在REST中是否有一些簡單的方法可以解決? 我在這里有一些復雜的方法: how-to-serialize-java-primitives-using-jersey-
一段代碼(服務器和客戶端)將不勝感激!
將原始數組包裝在帶有JAXB注釋的對象中。 Jersey將使用內置的MessageBodyReader
和MessageBodyWriter
例如
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlAccessorType;
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public IntArray {
private int[] ints;
public IntArray() {}
public IntArray(int[] ints) {
this.ints = ints;
}
public int[] getInts() {
return ints;
}
...
}
在服務器端:
@Path("ints")
public class TestResource {
@GET
@Produces("application/xml")
public Response get() {
int[] ints = {1, 2, 3};
IntArray intArray = new IntArray(ints);
return Response.ok(intArray).build();
}
}
在客戶端:
Client client = new Client();
WebResource wr = client.resource("http://localhost:8080/service");
IntArray intArray = wr.path("/ints").get(IntArray.class);
int[] ints = intArray.getInts();
嘗試類似的東西。 我沒有測試代碼,所以希望它有效。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.