异步任务HttpPost请求DoInbackground调用webapiAndroidStudioJava,如何添加body字符串数组?
Async task HttpPost request DoInbackground call web api Android Studio Java, how to add body string array?
我正在尝试发送原始正文请求数组,知道如何在 java android studio 中实现正文数组字符串吗?
Web API .net framework c# 工作:
[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;
}
低于我正在努力实现的目标,这也作为参考, 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();
}
}
}
我在上面尝试过,但没有成功,因为不知何故它没有写正确,而且我在失败时遇到异常
我发现了我的问题,我必须将内容类型设置为 application/json
conn.setRequestProperty("Content-Type","application/json");
我正在尝试发送原始正文请求数组,知道如何在 java android studio 中实现正文数组字符串吗?
Web API .net framework c# 工作:
[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;
}
低于我正在努力实现的目标,这也作为参考,
/**
* 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();
}
}
}
我在上面尝试过,但没有成功,因为不知何故它没有写正确,而且我在失败时遇到异常
我发现了我的问题,我必须将内容类型设置为 application/json
conn.setRequestProperty("Content-Type","application/json");