Это старый вопрос, но вот элегантное решение JDK:
public static void download(String url, String fileName) throws Exception {
try (InputStream in = URI.create(url).toURL().openStream()) {
Files.copy(in, Paths.get(fileName));
}
}
Краткий, читаемый, правильно закрытый ресурс, не использующий ничего, кроме основных функций JDK и языка.
Более или менее уже ответил в комментарии от DanielRearden.
Все входные свойства для мутации должны быть определены как input
в вашей схеме. Вы не можете использовать тот же тип, который вы используете для вывода.
В вашем случае вы должны создать дополнительное:
input AttractionInput {
title: String
description: String
coordinateLat: Int
coordinateLong: Int
}
Основная идея заключается в том, что ваш вклад может отличаться от вывода. Немного избыточного кода, но разделение более четкое.