package br.com.alura.agenda.retrofit;
import br.com.alura.agenda.services.AlunoService;
import retrofit2.Retrofit;
import retrofit2.converter.jackson.JacksonConverterFactory;
/**
* Created by Gabriel on 06/10/2017.
*/
public class RetrofitInicializador {
private final Retrofit retrofit;
public RetrofitInicializador(){
retrofit = new Retrofit.Builder()
.baseUrl("http://177.158.150.133:8080/api/")
.addConverterFactory(JacksonConverterFactory.create())
.build();
}
public AlunoService getAlunoService() {
return retrofit.create(AlunoService.class);
}
}
package br.com.alura.agenda.services;
import br.com.alura.agenda.modelo.Aluno;
import retrofit2.Call;
import retrofit2.http.Body;
import retrofit2.http.POST;
/**
* Created by Gabriel on 06/10/2017.
*/
public interface AlunoService {
@POST("aluno")
Call<Void> insere(@Body Aluno aluno);
}
public boolean onOptionsItemSelected(MenuItem item) {
switch(item.getItemId()){
case R.id.menu_formulario_ok:
Aluno aluno = helper.pegaAluno();
AlunoDAO dao = new AlunoDAO(this);
if(aluno.getId() != null){
dao.altera(aluno);
} else {
dao.insere(aluno);
}
dao.close();
//new InsereAlunoTask(aluno).execute();
Call call = new RetrofitInicializador().getAlunoService().insere(aluno);
call.enqueue(new Callback() {
@Override
public void onResponse(Call call, Response response) {
Log.i("onResponse", "requisição com sucesso");
}
@Override
public void onFailure(Call call, Throwable t) {
Log.e("onFailure","requisição falhou");
}
});
Toast.makeText(FormularioActivity.this, "Aluno " + aluno.getNome() + " Salvo!", Toast.LENGTH_SHORT).show();
finish();
break;
}
Quando tento adicionar um aluno, ele simplesmente retorna a mensagem de Requisição Falhou.