Философия REST: метод WS с побочным эффектом вместо доступа к ресурсам
Я спрашиваю об этом: я использую веб-сервис REST в большей степени на архитектуре веб-интерфейса, чем клиент-сервер, потому что теперь это просто с SpringBoot и стандартным. Но я обнаружил, что логика, ориентированная на ресурсы, довольно ограничена и не позволяет мне делать то, что я мог бы сделать с помощью SOAP или RPC (вызывать любой метод, чтобы не только получить доступ к ресурсам).
1) Мой вопрос: как я могу сделать что-то вроде:
@PostMapping
public Object migrateDataBetweenToDatabase() {
// Database configurations and location in application properties
Object res = myService.migrateData();
return res;
}
2) Еще один вопрос, более RESTful, я думаю: если у меня есть несколько объектов для создания:
@PostMapping
public Object create(@RequestBody Object objectToCreate) {
// ...
}
Как сделать соответствующее обновление? Для одного обновления это будет:
@PutMapping(path = {/{id})
public Object importObjects(@RequestBody Object objectToUpdate) {
// ...
}
А для многократного обновления?
@PutMapping
public Object importObjects(@RequestBody List<Object> objectsToUpdate) {
// ...
}
Это правильно?
РЕДАКТИРОВАТЬ: И если я хочу иметь метод updateAParticularField()
что должно быть: поставить / патч без @PathPvariable
Я бы? Или такой метод не должен существовать и быть общим обновлением PATCH (@PathVariable("id") int objectId, @RequestBody ObjectDTO objectDTO)
Благодарю.