2015-07-07 2 views
0

Я следующий запрос POST, что я тестирую с клиентом Advanced REST (Chrome Extension):Convert для дооснащения

URL: http://www.mysite.test/folder1/folder2/folder3/v1/register

ПАРАМЕТРЫ:

  • имя: Myname
  • фамилия: mySurname
  • электронная почта: myEmail
  • пароль: MyPassword

Результат:

{ 
error: false 
message: "You are successfully registered" 
} 

Теперь все работает с Advanced REST Client, но я хочу перевести это для дооснащения.

Я создал RestClientUsers:

public class RestClientUsers { 
private static final String BASE_URL = "http://www.mysite.test/folder1/folder2/folder3"; 
private ApiServiceUsers apiServiceUsers; 

public RestClientUsers() { 
    Gson gson = new GsonBuilder() 
      .setDateFormat("dd'-'MM'-'yyyy'T'HH':'mm':'ss'.'SSS'Z'") 
      .create(); 
    RestAdapter restAdapter = new RestAdapter.Builder() 
      .setLogLevel(RestAdapter.LogLevel.FULL) 
      .setEndpoint(BASE_URL) 
      .setConverter(new GsonConverter(gson)) 
      .build(); 

    apiServiceUsers = restAdapter.create(ApiServiceUsers.class); 

} 

public ApiServiceUsers getApiServiceUsers() { 
    return apiServiceUsers; 
} 
} 

Но я не знаю, как procede для того, чтобы получить полностью работоспособную систему.

Я хотел бы выполнить запрос, и хранить ошибку и сообщение в 2-х переменных.

Может кто-нибудь, пожалуйста, помогите мне? Заранее спасибо.

ответ

1

Вам нужно создать несколько классов, подобных этому.

public class ObjectPost { 
String myName; 
String mySurname; 
String myEmail; 
String myPassword; 

public void setMyEmail(String myEmail) { 
    this.myEmail = myEmail; 
} 

public void setMyName(String myName) { 
    this.myName = myName; 
} 

public void setMyPassword(String myPassword) { 
    this.myPassword = myPassword; 
} 

public void setMySurname(String mySurname) { 
    this.mySurname = mySurname; 
}} 

///// POJO получить

public class ObjectRecieve { 
Boolean error; 
String message; 

public Boolean isError() { 
    return error; 
} 

public String getMessage() { 
    return message; 
}} 

//

public interface RestFul { 
@POST("/v1/register") 
void getValue(@Body ObjectPost mObject,Callback<ObjectRecieve> object);} 

// Тест в Мой MainActivity

@Override 
protected void onCreate(Bundle savedInstanceState) { 
RestAdapter restAdapter = new RestAdapter.Builder() 
     .setEndpoint("http://www.mysite.test/folder1/folder2/folder3") 
     .build(); 

    RestFul restFul = restAdapter.create(RestFul.class); 

    ObjectPost objectPost = new ObjectPost(); 
    objectPost.setMyName("xxxx"); 
    objectPost.setMySurname("xxxx"); 
    objectPost.setMyPassword("xxxx"); 
    objectPost.setMyEmail("xxxx"); 



    restFul.getValue(objectPost,new Callback<ObjectRecieve>() { 
    @Override 
     public void success(ObjectRecieve result, Response response) { 
      // receive your object here. 
     Log.d("TAG",""+result.getMessage()) 


    }) 
    @Override 
     public void failure(RetrofitError error) { 
      System.out.println("error = [" + error + "]");     
      Toast.makeText(getApplication(), 
        "Please check your internet connection.",  Toast.LENGTH_SHORT) 
        .show(); 


     } 


} 
+0

Привет, Я ошибка на restFul.getValue: Класс Anonymus Class, полученный из Callback, должен либо быть объявлен абстрактным, либо реализовать абстрактный метод успеха (T, response) в 'Callback' – helloimyourmind

+0

oh! , мой неправильный изменить это ** restFul.getValue (objectPost, new Callback () ** – Telember

+0

Изменить с помощью чего? – helloimyourmind

 Смежные вопросы

  • Нет связанных вопросов^_^