나는 RESTlet webservice에 매개 변수를 전달하는 방법을 온라인에서 찾고 있었지만 RESTlet에 관한 튜토리얼이 많지 않다.안드로이드에서 RESTlet webservice에 매개 변수를 전달하는 방법은 무엇입니까?
내 안드로이드 응용 프로그램의 양식에서 수집 한 매개 변수를 보내고 싶습니다. JSON을 사용하면 위와 같이 할 수 있습니다.
미리 감사드립니다.
나는 RESTlet webservice에 매개 변수를 전달하는 방법을 온라인에서 찾고 있었지만 RESTlet에 관한 튜토리얼이 많지 않다.안드로이드에서 RESTlet webservice에 매개 변수를 전달하는 방법은 무엇입니까?
내 안드로이드 응용 프로그램의 양식에서 수집 한 매개 변수를 보내고 싶습니다. JSON을 사용하면 위와 같이 할 수 있습니다.
미리 감사드립니다.
잘 난 서버 측
HttpClient client = new DefaultHttpClient();
String responseBody;
JSONObject jsonObject = new JSONObject();
try{
HttpPost post = new HttpPost(WebService_URL);
jsonObject.put("field1", ".........");
jsonObject.put("field2", ".........");
StringEntity se = new StringEntity(jsonObject.toString());
post.setEntity(se);
post.setHeader(new BasicHeader(HTTP.CONTENT_TYPE, "application/json"));
post.setHeader("Content-type", "application/json");
Log.e("webservice request","executing");
ResponseHandler responseHandler = new BasicResponseHandler();
responseBody = client.execute(post, responseHandler);
/*
* You can work here on your responseBody
* if it's a simple String or XML/JSON response
*/
}
catch (Exception e) {
e.printStackTrace();
}
내가이 도움이 될 수 있습니다 희망 안드로이드 사이드에 관해서는
@Post
public JSONArray serverSideFunction(Representation entity)
throws JSONException {
try {
JSONObject req = (new JsonRepresentation(entity)).getJsonObject();
System.out.println(req.getString(/* filed name */));
System.out.println(req.getString(/* filed name */));
/*
* you can retrieve all the fields here
* and make all necessary actions
*/
} catch (IOException e) {
e.printStackTrace();
}
}
에 관해서는이
를 해결
을 참고하십시오. WCF 메서드 이름을 전달 했습니까? –
메소드 이름은 SOAP 웹 서비스 (예 : WCF)에만 사용됩니다. 이것은 휴식 클라이언트입니다. URL과 CRUD 요청 메소드를 통해 통신이 이루어집니다. –
URL이라도 URL 뒤에 메서드 이름을 바인드하지 않습니까? –
사실, 원하는 작업에 따라 다릅니다. REST (http://en.wikipedia.org/wiki/Representational_state_transfer 참조)를 사용하면 매개 변수 나 데이터를 전달하는 두 가지 방법이 있습니다. 일부 개념을 이해하기 전에 :
Restlet은 REST 요소에 대한 Java 엔터티를 제공합니다.)
1 °를 사용하면 자원 상태를 업데이트 하시겠습니까 :
그래서, 후 데이터 나 매개 변수를 전달하는 사용 사례의 의존한다는 것을 볼 수 있다고 설명? 이 경우 POST 또는 PUT과 같은 메소드와 함께 요청 내용을 사용합니다. 데이터 구조에는 텍스트, JSON, XML 또는 바이너리가 없습니다. Restlet은 RESTful 애플리케이션에 대한 요청을 실행하는 ClientResource 클래스를 제공합니다. 또한 수신 된 데이터를 보내고 추출하는 표현을 작성하기위한 지원을 제공합니다. 이 경우 양식에서 수집 한 데이터가 표현을 작성하는 데 사용됩니다. 다음은 몇 가지 샘플은 다음과 같습니다
//Samples for POST/PUT
ClientResource cr = new ClientResource("http://...");
cr.post(new StringRepresentation("test"));
MyBean bean = new MyBean();
(...)
//Jackson is a tool for JSON format
JacksonRepresentation<MyBean> repr
= new JacksonRepresentation<MyBean>(bean);
cr.put(repr);
//Samples for GET
Representation repr1 = cr.get();
bean = (new JacksonRepresentation<MyBean>(repr1, MyBean.class)).getObject();
2 °) (예를 들어, 데이터 등 retreive하고 구성하는 당신이 당신의 GET 요청에 매개 변수를 지정 하시겠습니까)? 아래에 설명 된대로이 경우, 당신은 단순히 ClientResource에 추가 할 수 있습니다 :
ClientResource cr = new ClientResource("http://...");
cr.getReference().addQueryParameter("q", "restlet");
Representation repr = cr.get();
를이 경우, 양식에서 수집 된 데이터는 매개 변수를 구축하는 데 사용됩니다.
희망이 있으면 도움이됩니다. 티에리
하는 경우 json 구조로 요청하고 응답을 JSONObject로 원한다.
public class RequestJSON extends ServerRecource{
@Post("json")
public JSONObject testRequest(String entity){
JSONObject request = new JSONObject(entity);
String value1 = request.getString("key1");
int value2 = request.getInt("key2");
return /* your JSONObject response */;
}
}
을 그리고 귀하의 요청은 다음과 같습니다 : 어쩌면 당신은 서버 측에서 다음과 같이 할 수
{"key1":"value1", "key2":value2}
을 나는이 당신
으로 Restlet 무엇을 도와 드릴 희망? RESTful을 의미합니까? –
Restlet은 Java 플랫폼 용의 가볍고 포괄적 인 오픈 소스 REST 프레임 워크입니다. 당신은 [link] (http://www.restlet.org/) 과 [link] (http://en.wikipedia.org/wiki/Restlet)에 대한 자세한 정보는 restlet –