Не получать данные из API с помощью модернизации - PullRequest
0 голосов
/ 20 октября 2019

Я реализовал простой API в PHP и протестировал его с помощью почтальона, и он работал нормально. Но когда я использую модификацию для получения данных, она не работает, он только выполняет метод onFailure () для запроса в очереди.

Интерфейс модификации

public interface UserAPI {

@POST("createUser.php")
Call<User> createUser(@Body User user);
}

Запрос модификации

  Call<User> call = userAPI.createUser(user);

  call.enqueue(new Callback<User>() {

    @Override
    public void onResponse(Call<User> call, Response<User> response) {

      startActivity(new Intent(RegisterActivity.this, MainActivity.class));

    }

    @Override
     public void onFailure(Call<User> call, Throwable t) {
       Toast.makeText(RegisterActivity.this,t.getCause(),Toast.LENGTH_SHORT).show();
    }

    });

Класс пользователя

public class User {
 public int userId;
 public String username;
 public String realName;
 public String phoneNumber;
 public String email;
 public String password;
}

Реализация createUser.php

require_once('./serviceDB.php');
require_once('./User.php');

header("Content-type: application/json; charset=utf-8");


if($_SERVER['REQUEST_METHOD'] == 'POST') {

  $data = json_decode(file_get_contents('php://input'), true);

  $username = $data['user']['username'];
  $mobile = $data['user']['mobile'];
  $email = $data['user']['email'];
  $password = $data['user']['password'];

  $user = new User();

  $user->setUsername($username);
  $user->setEmail($email);
  $user->setMobile($mobile);
  $user->setPassword($password);
  serviceDB::createUser($user)

и метод createUser в API

public static function createUser($user){
$query = 'Insert Into Users (Username, Email,Mobile, Password) VALUES (:username, :email, :mobile,:password)';
    $params = array(':username' => $user->username , ':email' => $user->email, ':mobile' => $user->mobile,':password' => $user->password);
$id = ServiceDB::Query($query, $params);
return $id;

}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...