私は、RESTlet webserviceにパラメータを渡す方法をオンラインで探していましたが、RESTletに関するチュートリアルはあまりないようです。アンドロイドからRESTlet webserviceにパラメータを渡す方法は?
私のアンドロイドアプリケーションでフォームから収集されたいくつかのパラメータを送信したいと思います(これはJSONを使用すれば可能です)。
ありがとうございます。
私は、RESTlet webserviceにパラメータを渡す方法をオンラインで探していましたが、RESTletに関するチュートリアルはあまりないようです。アンドロイドからRESTlet webserviceにパラメータを渡す方法は?
私のアンドロイドアプリケーションでフォームから収集されたいくつかのパラメータを送信したいと思います(これはJSONを使用すれば可能です)。
ありがとうございます。
私がいる場合、これは助け
についての詳細は、[link](http://www.restlet.org/) と[link](http://en.wikipedia.org/wiki/Restlet)を参照してください。 WCFメソッド名を渡しましたか? –
メソッド名はSOAP Webサービス(WCFなど)にのみ使用されます。これは休憩クライアントです。URLとCRUDリクエストメソッドを使用して通信が行われます –
URLであっても、URLの後ろにメソッド名をバインドしませんか? –
実際、あなたが何をしたいかによって異なります。 REST(http://en.wikipedia.org/wiki/Representational_state_transferを参照)では、パラメータまたはデータを渡す2つの方法があります。いくつかの概念を理解する前に:
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°)(例えば、データがそうで盗んとするように設定するには、あなたのGETリクエストにパラメータを指定しますか)?この場合は、後述のようにあなたは、単に、ClientResourceにそれを追加することができます。この場合
ClientResource cr = new ClientResource("http://...");
cr.getReference().addQueryParameter("q", "restlet");
Representation repr = cr.get();
を、フォームから収集されたデータは、パラメータを構築するために使用されます。
お手伝いします。 ティエリー
のものとすることができる願っていますAndroidのサイド
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();
}
}
用としてこの
を解決あなたは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フレームワークです。 restlet –