簡體   English   中英

java客戶端如何從java RESTful Web服務訪問整數數組

[英]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將使用內置的MessageBodyReaderMessageBodyWriter

例如

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM