Я хочу сделать POST
запрос к API, где я передаю Object
класса как json parameter
Это то, что я пробовал до сих пор -
UpdatedOrderDetail uodVo = new UpdatedOrderDetail();
public void myFunction(View view) {
//Updating order status
final OrdersVo ovo = (OrdersVo)getIntent().getSerializableExtra("OrdersVo");
uodVo.setOrderID(ovo.getOrderID());
uodVo.setOrderItemID(ovo.getOrderItemID());
uodVo.setOrderStatusID(8); //Arriving status
//converting UpdatedOrderDetails class object to json
Gson gson = new Gson();
String json = gson.toJson(uodVo);
new SendUpdatedOrderDetails().execute("my_url", json);
}
private class SendUpdatedOrderDetails extends AsyncTask<String, Void, String> {
@Override
protected String doInBackground(String... strings) {
String data = "";
HttpURLConnection httpURLConnection = null;
try {
httpURLConnection = (HttpURLConnection) new URL(strings[0]).openConnection();
httpURLConnection.setRequestMethod("POST");
httpURLConnection.setDoOutput(true);
DataOutputStream wr = new DataOutputStream(httpURLConnection.getOutputStream());
wr.writeBytes(strings[1]);
wr.flush();
wr.close();
InputStream in = httpURLConnection.getInputStream();
InputStreamReader inputStreamReader = new InputStreamReader(in);
int inputStreamData = inputStreamReader.read();
while (inputStreamData != -1) {
char current = (char) inputStreamData;
inputStreamData = inputStreamReader.read();
data += current;
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (httpURLConnection != null)
httpURLConnection.disconnect();
}
return data;
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
}
}
Но это не сделало ни одного POST
запроса к моему API, может кто-нибудь сказать мне, что я делаю неправильно?