2013-03-02 2 views
1

은 내가 복귀하려는 다음 웹 서비스를 배열Restful 웹 서비스에서 배열을 반환하는 방법은 무엇입니까?

@GET 
@Consumes("text/plain") 
@Produces("text/plain") 
public String[] getText(@PathParam("name") String Uname) { 
    //TODO return proper representation object 
    System.out.println("In Method " + Uname); 
    String arr[]=null; 
    arr=new String[2]; 
    arr[0]="demo"; 
    arr[1]="demo2"; 
    return arr; 
} 

의 값 그러나 나는 그것이 나에게이 오류주고있다이 웹 서비스를 테스트 할 때 :

그래서 난 경우 어떻게해야 GET RequestFailed RequestFailed --> Status: (406) Response: {을 REST 웹 서비스에서 배열을 반환하고 싶습니까?

+3

?????????????? – Doorknob

+0

XML로 표시된 배열을 반환 하시겠습니까? 이것은 도움이 될 수 있습니다 : http://java.dzone.com/articles/xml-bindings-jaxb-and-jax-rs – OakNinja

+0

사실은 원래 텍스트로 돌아가고 싶습니다. 원래 게시물에서 변경했습니다. – CSSG

답변

2

HTTP 응답은 일반 텍스트 응답의 배열을 지원하지 않습니다.

return Arrays.toString(arr); 

또는 당신이 목록에 배열을 변환 할 수 있습니다 : 수동, 문자열로 배열을 나타내는 String으로 반환 형식을 변경하고 다음과 같이 반환해야 하나 반환 Arrays.asList (편곡);

및 JSON 또는 여기에 XML로 반환하는 방법을 사용 : 당신은 너무 많은 물음표를 사용하는 이유는 무엇입니까 Jersey: Return a list of strings

+0

안녕하세요, 첫 번째 트릭이 작동합니다. 몇 가지 예를 들어이 설명문을 설명해주십시오. "응답을 JSON 배열로 인코딩하여이를 문자열로 반환하십시오."어떻게 수행 할 것입니까? – CSSG

+0

@CSSG 자세한 내용을 담은 다른 게시물에 링크하려면 내 대답을 편집했습니다. 그러나 응답을 일반 텍스트 대신 JSON 또는 XML로 사용하려는 경우에만 유용합니다. – Alb

관련 문제