Я использую 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;
}
// #########################################################################################
}
Я не понимаю о чем ты. У меня есть REST для настроек, поэтому мой угловой интерфейс может печатать связанные вещи. Но в моем приложении есть Docker.java, где мне нужен объект настроек.
вы можете привести пример?
Реализуя интерфейс репозитория JPA, вы представляете источник данных как веб-службу CRUD. Вы можете либо установить HTTP-соединение, если важно сохранить эти настройки отдельно, либо вы можете просто использовать репозиторий на основе JDBC для доступа к нему без HTTP-клиента. Размещение его в сети подразумевает, что эти данные используются множеством приложений. Если это не так, вам не следует раскрывать веб-службу CRUD.
Я использую JPArepository только для того, чтобы приложение могло получить к нему доступ. Мне нужно показать детали этих настроек на странице, но мне также нужны эти данные на бэкэнде.




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