У меня есть JSON объекты в JSONbin.io в следующей структуре.
{
"beneficiaries": [
{
"name": "Brian",
"staff_no": "12",
"id": "11111111"
}],
"users": [
{
"national_id": "10102020",
"sponsor_no": "01",
"staff_no": "12",
"name": "Sonya",
"birth_date": "24-2-1999",
"kra_pin": "1111111111",
"employment_date": "10-1-2019",
"employment_type": "temporary",
"email": "email@gmail.com",
"password": "1"
}]
}
Я пытаюсь, используя модификацию, POST новые записи данных в users
и beneficiaries
и т. Д. , Тем не менее, я не могу найти правильную конечную точку для описания в моем jsonBinAPI
интерфейсе, как вы можете видеть в фрагменте кода, который я разместил ниже. Всякий раз, когда я запускаю приложение, в моем logcat регистрируется код ответа 404, и новая запись явно не POST-ed.
Основная активность
pojo_user user = new pojo_user(natid,sponsor_no,staff_no,uname,pass);
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("https://api.jsonbin.io/")
.addConverterFactory(GsonConverterFactory.create())
.build();
jsonBinAPI jsonbinapi = retrofit.create(jsonBinAPI.class);
Call<pojo_user> call = jsonbinapi.setUser(user);
call.enqueue(new Callback<pojo_user>() {
@Override
public void onResponse(Call<pojo_user> call, Response<pojo_user> response) {
Log.v("register_retrofit",Integer.toString(response.code()));
}
@Override
public void onFailure(Call<pojo_user> call, Throwable t) {
Log.v("register_retrofit",t.getMessage());
}
});
pojo_user
public class pojo_user {
private String national_id;
private String sponsor_no;
private String staff_no;
private String name;
private String birth_date;
private String kra_pin;
private String employment_date;
private String employment_type;
private String email;
private String password;
private String log_state;
public pojo_user(String national_id, String sponsor_no, String staff_no, String name, String password) {
this.national_id = national_id;
this.sponsor_no = sponsor_no;
this.staff_no = staff_no;
this.name = name;
this.password = password;
}
}
jsonBinAPI
import retrofit2.Call;
import retrofit2.http.Body;
import retrofit2.http.GET;
import retrofit2.http.POST;
public interface jsonBinAPI {
@GET("b/5e536928d3c2f35597f6ca46/5")
Call<jsonBin_response> getJsonBin_response();
@Headers({"secret-key: <MY_KEY>","Content-Type: application/json","private: false"})
@POST("b/5e536928d3c2f35597f6ca46/5/users")
Call<pojo_user> setUser(@Body pojo_user user);
}