1

私は Web サービスが初めてで、Android で Jersey Web サービスを呼び出すコードを書いています。しかし、PathParam のパラメーター値として null を取得しています。私のコードの何が問題なのかを教えてください。

AndroidでのWeb サービス呼び出しのコードは次のとおりです。

HttpClient httpClient = new DefaultHttpClient();  
HttpPost httpPost = new HttpPost(url);  

httpPost.setHeader("content-type", "application/json");  
JSONObject data = new JSONObject();  

try {  
   data.put("email_id", strEmailId);  
   data.put("password", strPassword);  
   Log.d("1", data.toString());  
   HttpEntity entity;  
   StringEntity s = new StringEntity(data.toString());  
   entity = s;  
   httpPost.setEntity(entity);  
   HttpResponse response = httpClient.execute(httpPost);  
}

これはWeb サービス コードです

@POST  
@Consumes(MediaType.APPLICATION_JSON)  
@Produces(MediaType.APPLICATION_JSON)  
@Path("/dbconnect")  
public String connectToDbTest(@PathParam("email_id") String email_id,@PathParam("password") String password) {  
   System.out.println(email_id+" "+password);  
}  
4

1 に答える 1

0

StringEntity クラスの使用についてはよくわかりませんが、サーバー コードでは、Path パラメーターを使用している場合は、使用する前にパラメーターをテンプレートで宣言する必要があります。例えば

    @Path("/dbconnect/{email_id}/{password}")

サーバーで受信したURLは

    protocol://server/context/dbconnect/email@id.com/password

URL を介してパスワードを渡すのは非常に悪い考えですが、機能的には機能します。

于 2013-02-28T10:34:07.227 に答える