Когда пользователь получает /api/upload конечную точку REST, у меня есть UploadController, который использует службу UploadService для загрузки файла на ftp-сервер с org.apache.commons.net.ftp.FTPClient. Я хотел бы иметь возможность отправить информацию пользователю, если FTP-клиент не смог подключиться или не был установлен или успешно отправил файл. У меня есть обработка IOException, но я не знаю, как это сделать и отправить обратно в интерфейс. Любая помощь оценили, спасибо!
public void upload(InputStream inputStream) {
String filename = "file.txt"
client = new FTPClient();
try {
client.connect("ftpsite");
client.login("username", "password");
client.storeFile(filename, inputStream);
} catch (IOException ioe) {
ioe.printStackTrace();
} finally {
try {
if (inputStream!= null) {
inputStream.close();
}
} catch (IOException ioe) {
ioe.printStackTrace();
}
}
return null;
}
Вы должны выбросить новое исключение в свою инструкцию catch.
Например, вы можете создать класс RequestTimeoutException:
@ResponseStatus(HttpStatus.REQUEST_TIMEOUT)
public class RequestTimeoutException extends RuntimeException { }
а затем бросить его, когда нужно:
catch (IOException ioe) {
//do some logging while you're at it
throw new RequestTimeoutException();
}