【发布时间】:2018-05-19 13:28:59
【问题描述】:
我正在尝试向我的 API 发布一个对象,但它不起作用。
我的 API 方法如下所示
[Route("Route is working but wanna keep this address hidden")]
[System.Web.Http.Acceptverbs("POST")]
[HttpPost]
public void Post(Comment comment)
{
db.Comments.Add(comment);
db.SaveChanges();
}
所以我有我的 API 和这个方法,然后当我在我的 android 应用程序中按下一个按钮时,我希望它发布到这个方法,但没有任何东西被发布。
我的 Android 应用程序中的代码
public class ConnectionPost extends AsyncTask<String,String,String> {
@Override
protected String doInBackground(String... params) {
URL url = null;
try {
url = new URL("Keeping this address hidden");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setDoOutput(true);
conn.setDoInput(true);
conn.setUseCaches(false);
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-Type", "application/json;charset=utf-8");
JSONObject comment = new JSONObject();
comment.put("Name","Joe");
OutputStreamWriter ap_osw= new OutputStreamWriter(conn.getOutputStream());
ap_osw.write(comment.toString());
ap_osw.flush();
ap_osw.close();
Log.d("test", "" + comment.toString());
}
catch (Exception e){
}
return "";
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
}
@Override
protected void onPreExecute() {
super.onPreExecute();
}
@Override
protected void onProgressUpdate(String... values) {
super.onProgressUpdate(values);
}
}
当我单击我的按钮时,我会调用一个包含此代码的方法。
ConnectionPost send = new ConnectionPost();
send.execute();
在 LogCat 中,我可以看到我创建的对象,但没有发布任何内容,所以想知道我做错了什么?
抱歉,有些事情的命名不好,稍后会修复它。
【问题讨论】:
-
如果您添加了正确的用户权限,您是否检查过您的 android 清单文件,并且您是否尝试过测试您的 API/服务器端?
-
我在我的 android 清单文件中添加了互联网权限,并且我已经测试了我的 API 以查看它是否可以正常工作。