@RequestMapping(value = "/account/{accountName:.+}", method = RequestMethod.PUT) DaemonTask<Halconfig, Void> setAccount(@PathVariable String deploymentName, @PathVariable String providerName, @PathVariable String accountName, @ModelAttribute ValidationSettings validationSettings, @RequestBody Object rawAccount) { Account account = objectMapper.convertValue( rawAccount, Providers.translateAccountType(providerName) ); return GenericUpdateRequest.<Account>builder(halconfigParser) .stagePath(halconfigDirectoryStructure.getStagingPath(deploymentName)) .updater(a -> accountService.setAccount(deploymentName, providerName, accountName, a)) .validator(() -> accountService.validateAccount(deploymentName, providerName, account.getName())) .description("Edit the " + accountName + " account") .build() .execute(validationSettings, account); }