Вызов функции в Java

Я использую SpringBoot, и у меня есть REST API.

Теперь я хочу получить объект настроек, чтобы использовать его свойства. Но этот вызов происходит из моего приложения из другого файла .java. Как мне это сделать? Имеет ли смысл делать HTTP-запрос внутри моего собственного приложения? Как мне с этим справиться?

Настройки

public interface SettingsRepository extends JpaRepository<Settings,Long> {}

SettingsController

@RestController
@RequestMapping("/api")
public class SettingsController {

    @Autowired
    private SettingsRepository settingsRepository;

    @GetMapping("/settings")
    public List<Settings> getSettingss() {
        return settingsRepository.findAll();
    }

    @GetMapping("/settings/{id}")
    public Settings getSettings(@PathVariable Long id) {
        return settingsRepository.getOne(id);
    }

    @PostMapping("/settings")
    public Settings createSettings(Settings Settings) {
        return settingsRepository.save(Settings);
    }

    @PutMapping("/settings")
    public Settings updateSettings(Settings Settings) {
        return settingsRepository.save(Settings);
    }

    @DeleteMapping("/settings/{id}")
    public boolean deleteSettings(@PathVariable Long id) {
        settingsRepository.deleteById(id);
        return true;
    }
}

Докер

public class Docker {

    private static DockerClient dockerClient;

    // #####################  BUILD CONNECTION WITH DOCKER ####################################
    static {

        try {
            Settings settings = ;
            DockerClientConfig config = DefaultDockerClientConfig.createDefaultConfigBuilder()
                    .withDockerHost("tcp://" + settings.getDockerIP() + ":" + settings.getDockerPort())
                    .withDockerConfig("/home/user/.docker/config.json")
                    .build();

            dockerClient = DockerClientBuilder.getInstance(config).build();

        } catch (Exception e) {
            logger.error(e.getMessage(), e);
        }
    }
    public static DockerClient dockerClient() {
        return dockerClient;
    }

    // #########################################################################################
}

Вместо того, чтобы обращаться к существующей конечной точке, почему бы вам не провести рефакторинг общего кода до общего расположения, а затем вызвать его там, где вам это нужно?

Tim Biegeleisen 15.05.2018 12:51

Я не понимаю о чем ты. У меня есть REST для настроек, поэтому мой угловой интерфейс может печатать связанные вещи. Но в моем приложении есть Docker.java, где мне нужен объект настроек.

user9793665 15.05.2018 12:53

вы можете привести пример?

user9793665 15.05.2018 12:58

Реализуя интерфейс репозитория JPA, вы представляете источник данных как веб-службу CRUD. Вы можете либо установить HTTP-соединение, если важно сохранить эти настройки отдельно, либо вы можете просто использовать репозиторий на основе JDBC для доступа к нему без HTTP-клиента. Размещение его в сети подразумевает, что эти данные используются множеством приложений. Если это не так, вам не следует раскрывать веб-службу CRUD.

duffymo 15.05.2018 13:21

Я использую JPArepository только для того, чтобы приложение могло получить к нему доступ. Мне нужно показать детали этих настроек на странице, но мне также нужны эти данные на бэкэнде.

user9793665 15.05.2018 13:35
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
5
78
0

Другие вопросы по теме