异步任务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");