Вот есть код отправки запроса для выполнения простого действия - удаление/добавление метки "избранное":
protected void toggleFavorite() {
if (favoriteRequest != null && favoriteRequest.executing()) {
favoriteRequest.cancel();
}
if (favoriteRequest == null) {
favoriteRequest = new BouquetRequest(getApplicationContext());
favoriteRequest.setListener(new BouquetRequest.Listener()
{
@Override
public void success(String message, @Nullable Object data) {
try {
if (data == null) {
favorites.delete(favorite);
favorite = null;
} else {
favorite = Favorite.fromJson((JSONObject) data);
favorites.create(favorite);
}
} catch (IOException|SQLException e) {
Toast.makeText(getApplicationContext(), R.string.unknown_error,
Toast.LENGTH_SHORT).show();
}
}
@Override
public void error(String error, String code, @Nullable Object data) {
Toast.makeText(getApplicationContext(), error, Toast.LENGTH_SHORT).show();
}
});
favoriteRequest.before(new BouquetRequest.BeforeCallback()
{
@Override
public void run(StringRequest request) {
mFavoriteButton.setEnabled(false);
}
});
favoriteRequest.after(new BouquetRequest.AfterCallback()
{
@Override
public void run(@Nullable NetworkResponse response) {
mFavoriteButton.setEnabled(true);
}
});
}
favoriteRequest
.setMethod(favorite == null ? BouquetRequest.POST : BouquetRequest.DELETE)
.setAction(favorite == null ? "favorite" : "favorite/:id");
if (favorite != null) {
favoriteRequest.bindParam("id", favorite.id);
}
favoriteRequest.execute();
}
Дело в том, что в одной Activity/Fragment может быть до 10 подобных действий, в итоге получится не мало кода на одни только запросы.
BouquetRequest - обёртка над Volley, делал с надеждой упросить отправку запросов, но как-то не очень эффективно получилось.
Собственно вопрос: если бы вам достался проект с таким кодом на доработку, каковы будут мысли о предшествующем программисте? И стали бы вы что-то менять в логике построения запросов?
P.S. Хочу определиться с подходом на раннем этапе разработки, чтобы потом было проще найти человека на замену.