Когда я использовал для публикации данных через API с использованием модернизации, я получаю ответ 400, когда я использовал @FormUrlEncoded в моем интерфейсе, но в почтальоне я использовал данные формы для публикации, можете ли вы помочь мне
Вотмой интерфейс
public interface SignupApiService {
@POST("users")
@FormUrlEncoded
Call<ResponseBody> savePost(@Field("email") String email,
@Field("password") String password,
@Field("role") int role);
}
Вот моя активность при регистрации
Call<ResponseBody> call = SignupClient
.getInstance().getApi()
.savePost(email, password, roleValue);
call.enqueue(new Callback<ResponseBody>() {
@Override
public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
int statusCode = response.code();
progressBar.setVisibility(View.GONE);
Log.d("SignupActivity", "onResponse" +statusCode);
}
@Override
public void onFailure(Call<ResponseBody> call, Throwable t) {
Toast.makeText(SignupActivity.this, t.getMessage(), Toast.LENGTH_SHORT).show();
}
});
Вот мой класс Java
public class SignupClient {
private static SignupClient mInstance;
private static Retrofit retrofit;
private static final String BASE_URL = "http://74.207.233.160/api/v1/";
private SignupClient(){
retrofit = new Retrofit.Builder()
.baseUrl(BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
.build();
}
public static synchronized SignupClient getInstance() {
if (mInstance == null){
mInstance = new SignupClient();
}
return mInstance;
}
public SignupApiService getApi() {
return retrofit.create(SignupApiService.class);
}
}
Здесь, когда я использую formurlencoded, я получаю ответ 400.Как использовать данные формы, здесь приведены формы.Или какие-либо изменения требуются в моем почтальоне
Почтальон Когда это здесь успешно, я выбрал данные формы ![Postman One](https://i.stack.imgur.com/Om0OT.png)
Почтальон, когда я выбрал закодированный в форме URL![Postman two](https://i.stack.imgur.com/LGnwN.png)