Я новичок в модернизации и грубых операциях, и мне было интересно, как правильно использовать каждый из них. Я проверил некоторые веб-сайты, подобные этому: https://restfulapi.net/http-methods/, но в настоящее время я там не следую инструкциям, поскольку использую методы в своем приложении android:
public interface Service{
@GET("selectMethod.php")
Call<ArrayList<Customers>> selectCustomers();
@FormUrlEncoded
@POST("insertMethod.php")
Call<ResponseBody> insertCustomers(@FieldMap Map<String, String> fields);
@FormUrlEncoded
@POST("updateMethod.php")
Call<ResponseBody> updateCustomers(@FieldMap Map<String, String> fields);
@FormUrlEncoded
@POST("deleteMethod.php")
Call<ResponseBody> deleteCustomers(@FieldMap Map<String, String> fields);
}
Насколько я прочитал, чтобы следовать указаниям REST, я должен выполнить @PATCH
вместо @POST
в updateCustomers
, если я не изменяю полные данные пользователя и мне следует использовать @DELETE
вместо @POST
для метода deleteCustomers
.
Я протестировал приложение и все методы crud работают, но я особенно обеспокоен последним: мне нужно удалить несколько элементов RecyclerView, и мой способ сделать это - сформировать строку с идентификаторы элементов, выбранные с использованием разделителя (пример: «1-2-3» удалит 3 элемента с идентификаторами 1,2 и 3, файл php получает все идентификаторы в строке и выполняет только одну операцию DELETE в базе данных удалить эти 3 элемента) и добавить его в качестве поля для запроса вызова. Если я буду использовать рекомендованный метод и использовать @DELETE
вместо этого, я смогу передавать только один идентификатор за раз, что приведет к отправке нескольких операций DELETE в базу данных, когда я думаю, что лучше, скажем, удалить 10 элементы, выбранные с помощью одного запроса, а не с помощью 10 отдельных запросов, не так ли?
Вопросы:
Необходимо ли использовать @PATCH
и @DELETE
вместо @POST
для методов обновления и удаления? С какими проблемами можно столкнуться, если нет?
Если мне нужно изменить метод удаления с @POST
на @DELETE
, как я могу передать несколько идентификаторов, чтобы удалить несколько элементов таким образом? ?