我开发了一个Android应用程序和相关的Web服务。此Web服务仅从我的应用程序访问。它不公开。我已阅读REST标准,并了解各种Http方法GET,POST,PUT等。对于我的应用程序,我只使用POST
在我的PHP代码中我处理请求并发送响应消息。如果有人询问它是否符合REST标准?我不知道该说些什么。 我的代码有问题吗?附件是我的PHP和Android代码。 在这里,我正在更新一个人从移动设备到Web服务器的地址。截至目前,代码工作正常。
- PHP
<?php
$username=$_POST["username"];
$gyshadd=$_POST["address"];
$gyshphone=$_POST["phone"];
$connect = mysql_connect("127.0.0.1","melon","my password") or die("jothi can't' connect");
mysql_select_db("taxidata") or die("no database");
if (!empty($_POST))
{
//check username already exists
$query = mysql_query("SELECT * FROM drivertable WHERE userid = '$username'");
$numrows = mysql_num_rows($query);
if($numrows == 0 )
{
$response["success"] = 0;
$response["message"] = "username doesn't'exists";
die(json_encode($response));
}
else
{
//create new account
$query = mysql_query("UPDATE drivertable SET dadd='$gyshadd', mobile='$gyshphone' WHERE userid='$username'");
$response["success"] = 1;
$response["message"] = "Address update success";
die(json_encode($response));
}
}
else
{
$response["success"] = 0;
$response["message"] = " One or both of the fields are empty ";
die(json_encode($response));
}
mysql_close();
?>
从异步任务执行的android代码
private static final String ADDRESS_URL = "http://www.xyz123.com/test/updateaddress.php";
List<NameValuePair> params = new ArrayList<NameValuePair>(3);
params.add(new BasicNameValuePair("username", username));
params.add(new BasicNameValuePair("address", daddress));
params.add(new BasicNameValuePair("phone", phone));
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost(ADDRESS_URL);
httppost.setEntity(new UrlEncodedFormEntity(params));
HttpResponse response = httpclient.execute(httppost);
String json = EntityUtils.toString(response.getEntity());
JSONObject myObject = new JSONObject(json);
--------
答案 0 :(得分:0)
至少对于您提供的示例,可以将其视为RESTful。话虽如此,除非您没有进行任何数据检索(GET)或资源创建(PUT),否则在您的应用中只使用POST会很奇怪。
另请注意,REST不是&#34;标准&#34;但更多的是一种风格/最佳实践/模式(见Wikipedia entry),所以如果符合你的需要,一些偏差就可以了。
最后,如果应用程序执行了大量的Web服务,最好使用REST library删除大部分苦差事。
答案 1 :(得分:0)
虽然我可以理解您可能希望获得代码的反馈。我不确定我是否应该回答或评论,因为这最终会成为自以为是的
无论如何,有两个问题