异步任务HttpPost请求DoInbackground调用web api Android Studio Java,如何



我试图发送一个原始体请求数组,任何想法如何实现体数组字符串,在java android工作室?

Web API .net framework c# working:

[Route("api/login_test")]
[HttpPost]
public object login_test([FromBody] string[] Username_Password])
{
string UsernameOrEmail_address, Password;
UsernameOrEmail_address = Username_Password[0];
Password = Username_Password[1];
return UsernameOrEmail_address  + " " + Password;
}

下面是我想要实现的,这也是作为一个参考,web api c#测试邮差和工作Java异步任务从android studio:


/**
* Async task class to get json by making HTTP call
*/
private class login_test extends AsyncTask<Void, Void, Void> {
HttpURLConnection conn = null ;
BufferedReader reader = null;
@Override
protected Void doInBackground(Void... voids) {
try {
URL url_login;
url_login = new URL(url_api + "login_test");

conn = (HttpURLConnection) url_login.openConnection();
conn.setRequestMethod("POST");


JSONArray jsonArray = new JSONArray();
jsonArray.put(0, username);
jsonArray.put(1,  password);
OutputStreamWriter osw = new OutputStreamWriter(conn.getOutputStream());
osw.write(String.valueOf(jsonArray));
Log.i("Body to API", String.valueOf(jsonArray));
osw.flush();
osw.close();
}
}
}

我在上面尝试过,但它不成功,因为不知何故它没有写对,我得到异常,因为它失败了

我发现了我的问题,我不得不将Content-Type设置为application/json

conn.setRequestProperty("Content-Type","application/json");