Отправка POST-запроса на сервер с помощью Retrofit - PullRequest
0 голосов
/ 07 апреля 2020

Я новичок в модернизации. Я пытаюсь отправить запрос на вход на сервер с именем пользователя и паролем. Когда я отправляю имя пользователя в качестве пользователя; 45 и кодировку ASCII, он преобразуется в имя пользователя = пользователь% 3B и пароль = тест% 40123 . Из-за этого сервер отклоняет мой запрос на вход. Я знаю его кодировку ASCII. Я хочу отправлять значения по мере их ввода. Журналы: [https://i.stack.imgur.com/YlgnL.png]

> MainActivity. java

private void userLogin() {

        String j_username = editTextUserName.getText().toString().trim();
        String j_password = editTextPassword.getText().toString().trim();

        if (j_username.isEmpty()) {
            editTextUserName.setError("UserName is required");
            editTextUserName.requestFocus();
            return;
        }

        if (j_password.isEmpty()) {
            editTextPassword.setError("Password is required");
            editTextPassword.requestFocus();
            return;
        }

        System.out.println("Call");
        Call<Post> call = ApiUtils.getInstance()
                .getAPIService()
                .savePost(j_username, j_password);

        System.out.println("call.enqueue");

        call.enqueue(new Callback<Post>() {
            @Override
            public void onResponse(Call<Post> call, Response<Post> response) {
                try {
                    String s = response.body().toString();
                    Toast.makeText(MainActivity.this, s, Toast.LENGTH_LONG).show();
                    Toast.makeText(getApplicationContext(), "onResponse Successful !!", Toast.LENGTH_LONG).show();
                }
                catch(Exception e){
                    Toast.makeText(getApplicationContext(), "Exception Occurred !!", Toast.LENGTH_LONG).show();
                    e.printStackTrace();
                }

                System.out.println("OnResponse");
                String s = response.body().toString();
                Toast.makeText(MainActivity.this, s, Toast.LENGTH_LONG).show();
            }

            @Override
            public void onFailure(Call<Post> call, Throwable t) {
                System.out.println(t.getMessage());
                System.out.println("OnFailure");
                Toast.makeText(MainActivity.this, t.getMessage(), Toast.LENGTH_LONG).show();
            }
        })

API. java

gson = new GsonBuilder()
                .setLenient()
                .create();

        HttpLoggingInterceptor loggingInterceptor = new HttpLoggingInterceptor();

        loggingInterceptor.setLevel(HttpLoggingInterceptor.Level.BODY);

        OkHttpClient okHttpClient = new OkHttpClient.Builder()
                .addInterceptor(loggingInterceptor)
                .build();

        retrofit = new Retrofit.Builder()
                .baseUrl(BASE_URL)
                .client(okHttpClient)
                .addConverterFactory(GsonConverterFactory.create(gson))
                .build();

        System.out.println(retrofit);
...