/articles/{articleId}?includeExtraTitle=true
- это прекрасный идентификатор ресурса.
PUT
- это метод в едином интерфейсе, поэтому применение семантики PUT к этому ресурсу хорошо (если вы решите, что это не поддерживается)., вы бы ответили 405 Метод не разрешен ).
/articles/{articleId}
/articles/{articleId}?includeExtraTitle=true
/articles/{articleId}?includeExtraTitle=false
Вы должны понимать, что, с точки зрения клиента, это идентификаторы для различных Ресурсы.PUT /articles/{articleId}?includeExtraTitle=false
не сделает недействительной локально кэшированную копию клиента /articles/{articleId}
, поскольку идентификаторы не совпадают.
Тот факт, что эти три ресурса используют одну и ту же "конечную точку""это случайность вашей реализации, скрытая от клиентов за единым интерфейсом.
Совершенно нормально, хотя и не обязательно, когда один ресурс имеет несколько представлений.Поэтому убедитесь, что ваш вариант использования не подходит для изменения типа контента, а не для изменения URI.