2013-12-09 2 views
0

일부 JSON 데이터를 생성하는 일부 API 웹 사이트가 있지만 해당 URL에 직접 액세스 할 수 없습니다 (액세스하려고하면 oauth 오류가 발생 함). 나는 그 예외를 던지는 비밀 키와 lib 파일을 가지고있다.이미 사용 가능한 사이트에 대한 서비스를 편안하게 만드는 방법

그래서 그위한 RESTful 웹 서비스를 만들려면 ... 평온한 서비스없이

, 나는 main() 메소드에서 호출과 클래스 파일의 데이터를 액세스하고 난으로 실행하는 경우 자바 응용 프로그램 콘솔에서 데이터를 얻고 있습니다 .. 따라서 기본 방법이 있습니다 .. 하지만 안정적인 웹 서비스를 구축해야합니다. 모바일 창/아이폰/안드로이드에서 데이터를 검색

나는 편안한 서비스가 무엇인지 알고있다. 그러나 나는 그 데이터 자바 파일 데이터를 얻는 방법을 모른다. 콘솔에있다. ... 편안한 서비스

+0

지금 가지고있는 설정에 대한 추가 정보를 제공해 주시겠습니까? 서블릿 기반의 웹 앱인가 다른 것인가? 그렇지 않다. JSON 데이터를 가져 오는 API가 있지만 인증을 사용한다고 가정하면 이는 일종의 서비스처럼 보입니다. 맞습니까? –

+0

네, 서블릿 기반의 웹 앱 (Restful web-service)입니다 .. 그 데이터는 이미 다른 사이트에서 구할 수 있으므로 해당 사이트를 링크하거나 미러링해야합니다 .. .. 내 키로 .. 나는 xx.api.xxxxxx/v1/"내 쿼리"와 같은 URL에서 데이터를 얻고 있습니다. 내 쿼리에서 제공하는 정보는 해당 API 사이트에서 생성됩니다 ..하지만 지금은 내 콘솔로 쿼리 출력을 얻고 있습니다. , .. java main() 메소드에서 .. 그래서 나는 그 출력을 Restful 서비스로 원한다. .. – MLN

답변

1

,

public String myMethos(){ 

     String urlString="http://example.com/WS/StaticExample.php?method=sayHello&name=World"; 
     URL url=new URL(urlString); 
     URLConnection connection=url.openConnection(); 
     connection.setDoOutput(true); 
     OutputStreamWriter out = new OutputStreamWriter(connection.getOutputStream()); 
     out.close(); 
     JSONObject jsonobj = null; 
     BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream())); 
     String decodedString="",URLstrJson=""; 

     while ((decodedString = in.readLine()) != null) { 
      URLstrJson+=decodedString; 
     } 

이 URLstrJson 당신의 값이 다음

{ 
"worldpopulation": 
[ 
{ 
"rank":1, 
"country":"China", 
"population":"1,354,040,000", 
"flag":"http://www.androidbegin.com/tutorial/flag/china.png" 
} 
] 
} 

아래와 같습니다 말한대로

당신의 웹 서비스 방식이

당신이 코드를 아래의 물건을 시도

jsonobj=new JSONObject(URLstrJson); 

    System.out.println(jsonobj.toString()); 
    return jsonobj.toString(); 

}

1

내가 겪은 문제점으로 인해 현재 메소드를 호출하고 사용자에게 응답을 되돌려 보내는 래퍼 REST 클래스를 작성할 수있다. 그것을 정교하게 말하면 현재 클래스가 A이고 메소드가 getData()이며, 현재 main 메소드에서 호출된다. 이제 data() 메소드를 사용하여 REST 클래스를 만들고이 함수 내에서 A.getData()를 반환하는 것이다. 특수 효과, 매개 변수 유형 등과 같은 기타 구성은 필요에 따라 추가 할 수 있습니다.

+0

Response sir에게 감사한다. 귀하의 답변 선생님, 이해 .. 만약 내가 래퍼 클래스를 사용하여 주() 메서드에서 데이터를 얻을 것이다 안정적인 웹 서비스, .. 만약 그렇다면 .. 제발 어떤 자습서 또는 예제를 제공 할 수 있습니다 ... 필요 때문에 해당 사이트가 실행되고 있지만 해당 API의 모든 프로세스를 생성하는 미러처럼 생성해야합니다. – MLN

+0

http://nuteck.wordpress.com/category/web-services/를 확인하십시오. getDate() 함수를 String date = new A(). getData();로 수정하면됩니다. return Response.status (200) .entity (date) .build(); – jsjunkie

관련 문제